ドキュメント
a プロジェクト

HTTPSクイックスタート

このガイドでは、あっという間に、完全に管理されたHTTPSを立ち上げて起動する方法を紹介します。

前提条件

  • 基本的なターミナル/コマンドラインスキル
  • DNSの基本的な理解
  • 登録済みのパブリックドメイン名
  • ポート80と443への外部アクセス
  • PATH内のcaddycurl

このチュートリアルでは、example.comを実際のドメイン名に置き換えてください。

ドメインのA/AAAAレコードをサーバーに向けるように設定します。DNSプロバイダにログインして、ドメイン名を管理することで、これを行うことができます。

続行する前に、権威ルックアップで正確なレコードを確認してください。example.comをあなたのドメイン名に置き換えて、IPv6を使用している場合はtype=Atype=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!"
							}]
						}
					]
				}
			}
		}
	}
}