NoctisNode
GuidesWeb6 min

Caddy リバースプロキシ + 自動 TLS

Caddyfile 1 枚で Let's Encrypt 自動取得、HTTP/3、まともなデフォルト——あらゆるアプリへの TLS 最短ルート。

Caddy は最も保守コストの低い TLS ターミネータ:証明書の取得・更新を自動化し、HTTP/3 を初期状態でサポート。NoctisNode VPS 上アプリの玄関口に最適。

インストール

apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list
apt update && apt install -y caddy

ワンファイル設定

caddy reload はダウンタイムゼロで反映。ドメインがサーバー IP に解決され次第証明書は自動取得——NoctisNode の IP はクリーンなので ACME チェックは一発で通ります。

# /etc/caddy/Caddyfile
example.com {
	reverse_proxy 127.0.0.1:3000
	encode zstd gzip
	headers {
		Strict-Transport-Security "max-age=63072000"
		X-Content-Type-Options nosniff
	}
}

Tips

  • DNS 切替前もサイトを生かしておくなら DNS-01 チャレンジを使用。
  • onion サービスでは TLS 終端は clearnet ミラー側のみ——onion 側に証明書は不要。
  • 上流は 127.0.0.1 にバインドし直接アクセス不能に。