HTTPSクイックスタート
このガイドでは、あっという間に、完全に管理されたHTTPSを立ち上げて起動する方法を紹介します。
前提条件
- 基本的なターミナル/コマンドラインスキル
- DNSの基本的な理解
- 登録済みのパブリックドメイン名
- ポート80と443への外部アクセス
- PATH内の
caddy
とcurl
このチュートリアルでは、example.com
を実際のドメイン名に置き換えてください。
ドメインのA/AAAAレコードをサーバーに向けるように設定します。DNSプロバイダにログインして、ドメイン名を管理することで、これを行うことができます。
続行する前に、権威ルックアップで正確なレコードを確認してください。example.com
をあなたのドメイン名に置き換えて、IPv6を使用している場合はtype=A
をtype=AAAA
に置き換えてください。
curl "https://cloudflare-dns.com/dns-query?name=example.com&type=A" \
-H "accept: application/dns-json"
また、サーバーがパブリックインターフェイスからポート80と443で外部から到達できることを確認してください。
必要なことはすべて、構成内のドメイン名でCaddyを起動するだけです。これを行うにはいくつか方法があります。
Caddyfile
以下は、HTTPSを取得する最も一般的な方法です。
最初の行がドメイン名のCaddyfile
(拡張子なし)という名前のファイルを作成します。例:
example.com
respond "Hello, privacy!"
その後、同じディレクトリから実行します。
caddy run
CaddyがTLS証明書のプロビジョニングを行い、あなたのサイトをHTTPSで提供していることがわかります。これは、Caddyfileのサイトのアドレスにドメイン名が含まれているために可能でした。
file-server
コマンド
すべてHTTPSで静的ファイルを配信するだけなら、このコマンドを実行します(あなたのドメイン名に置き換えます)。
caddy file-server --domain example.com
CaddyがTLS証明書のプロビジョニングを行い、あなたのサイトをHTTPSで提供していることがわかります。
reverse-proxy
コマンド
すべてHTTPS上でシンプルなリバースプロキシ(TLSターミネータとして)が必要な場合は、このコマンドを実行します(あなたのドメイン名と実際のバックエンドアドレスに置き換えます)。
caddy reverse-proxy --from example.com --to localhost:9000
CaddyがTLS証明書のプロビジョニングを行い、あなたのサイトをHTTPSで提供していることがわかります。
JSON構成
一般的な経験則は、任意のホストマッチャーが自動HTTPSをトリガーするということです。
したがって、次のような JSON 構成により、運用対応の自動 HTTPSを有効にできます。
{
"apps": {
"http": {
"servers": {
"hello": {
"listen": [":443"],
"routes": [
{
"match": [{
"host": ["example.com"]
}],
"handle": [{
"handler": "static_response",
"body": "Hello, privacy!"
}]
}
]
}
}
}
}
}