Skip to content
VDS · ウェブサイトとウェブサーバー

Caddy:証明書が最初から付いてくるサイト

HTTPS証明書を自ら取得・更新するウェブサーバーです。VPSへのインストール、最小限のCaddyfile、Nginxからの移行について説明します。

更新日 2026年8月23日

CaddyはNginxと同じ役割を果たしますが、Let's Encrypt証明書の発行と更新を自動で行います。サイトの設定は3行に収まるため、VDSでの最初のプロジェクトでは、HTTPSを動作させるための最短ルートとなります。

インストール

DebianとUbuntu — 公式リポジトリから:

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' \
  > /etc/apt/sources.list.d/caddy-stable.list
apt update && apt install -y caddy

AlmaLinuxとCentOS Stream:

dnf install -y 'dnf-command(copr)'
dnf copr enable -y @caddy/caddy
dnf install -y caddy && systemctl enable --now caddy

最初のサイト

設定はすべて /etc/caddy/Caddyfile に記述します:

example.ru {
    root * /var/www/example.ru
    file_server
    encode gzip zstd
}
mkdir -p /var/www/example.ru
echo '<h1>Works</h1>' > /var/www/example.ru/index.html
caddy validate --config /etc/caddy/Caddyfile
systemctl reload caddy

最初のリクエストから数秒後、サイトは https://example.ru で開きます。他に何も起動する必要はありません。Caddyが証明書を自動で取得し、以後も自動で更新します。

アプリケーションのプロキシ

ローカルポートでNode.jsやPythonのサービスを動かしている場合、設定は次のようになります:

api.example.ru {
    reverse_proxy 127.0.0.1:3000
}

Caddyは X-Forwarded-For と X-Forwarded-Proto ヘッダーを自動で追加します。仕組みの詳細はリバースプロキシをご覧ください。

複数のサイトは、同じファイルに複数のブロックを書くだけです。1台のマシンで複数サイトを運用するをご覧ください。

事前に確認すること

  • ドメインのAレコードが、パネル /hosting/vds/m/<id> の「概要」に表示されるマシンのアドレスを指していること。
  • ポート80と443がマシンのファイアウォールで開放されており、NginxやApacheに占有されていないこと。
  • ドメインが実際に名前解決できること:dig +short example.ru。

1つ目が済んでいない場合、証明書の発行は失敗します。Let's Encryptはドメイン名でお客様のマシンに到達できる必要があります。

よくあるエラー

症状原因
could not get certificateドメインがマシンを指していない、またはポート80が閉じている
address already in useNginxまたはApacheが起動している — どちらかを停止してください
サイトがHTTPでのみ開くCaddyfileで名前の前に :80 または http:// が指定されている
発行試行回数が多すぎるLet's Encryptの制限 — tls internal でデバッグしてください

ログ:journalctl -u caddy -f。

Caddyは証明書を /var/lib/caddy/.local/share/caddy に保存します。「アクセス」タブでシステムを再インストールする際は、このディレクトリをコピーしてください。そうしないと、再インストール後に発行が最初からやり直しになります。