Google Trust Services を使用して Caddy を介してウェブサイトに無料の SSL 証明書を取得する方法に興味はありますか?プロセスを案内します。
ご存知のように、Let's Encrypt のルート証明書が期限切れになり、一部のウェブサイト所有者は異なる証明書発行元に切り替えたり、Let's Encrypt の新しいルートに対処しています。私の個人的なウェブサイトでは、ZeroSSL と Amazon SSL を使用しており、私にとって非常に便利です。また、Sectigo Root はアクセス可能な OSCP サーバーを提供しています。しかし、最近、Google がウェブサイト向けに無料の公開証明書を提供していることを知り、GTS でウェブサイトを保護することにしました。
以下は、Google から無料の SSL 証明書を取得し、Caddy でインストールする方法です。
-
まず、Google Cloud Platform でプロジェクトを作成します(無料で、サインアップ時に無料の $200 クレジットがもらえます)。
-
プロジェクト ID を取得します:GCP ダッシュボード(https://console.cloud.google.com/apis/dashboard)に移動し、左上の「マイプロジェクト」ボタンをクリックします。プロジェクト ID(例:sharp-fire-310310)が表示されます。または、URL のクエリの後にプロジェクト ID をコピーすることもできます(例:?project=<プロジェクト ID>)。
-
https://console.cloud.google.com/apis/library/publicca.googleapis.com?project=<プロジェクト ID> に移動して、Public Certificate Authority API を有効にします。ここで、プロジェクト ID は前のステップで取得したものです。無料で有効にします。
-
権限キーを作成します:右上の角にある Cloud Shell アイコンをクリックします。次のコマンドを入力します。
gcloud config set project <プロジェクトID> gcloud beta publicca external-account-keys create
ここで、プロジェクト ID は前のステップと同じです(承認を求められた場合は、受け入れをクリックします)。
キーが正常に作成された場合、次のような結果が返されます。
Created an external account key [b64MacKey: 3f90fbuKnl9a0c8ItD-BZygttn-5yCxgak7NKVXHml5x3NM09cygJgbVZd1EDWxFif_OGzx2ZtDJCcH19_9QMA keyId: 5743b1609344f82973328515f883faa1
b64MacKey の後のフレーズがキーであり、keyId の後が使用するキー ID です。
-
Caddyfile を更新します:Caddy のグローバルオプションに以下を追加します。
email <メールアドレス> acme_ca https://dv.acme-v02.api.pki.goog/directory acme_eab { key_id <キーID> mac_key <b64MacKey> }
Caddy のグローバルオプションについて詳しくは、https://caddyserver.com/docs/caddyfile/options#global-optionsを参照してください。
-
Caddy をリロードします:Caddy reload または systemctl restart caddy を実行します。GTS 証明書が準備できているはずです(これは、Let's Encrypt と ZeroSSL よりも SSL 証明書の発行が速いため、私が予想していたよりも速いです)。
-
証明書が準備できているか確認するには、systemctl status caddy を実行し、GTS SSL がアクティブであることを示す出力が表示されるはずです。
Feb 15 11:15:24 misty caddy[2981403]: {"level":"info","ts":1676477724.6448865,"logger":"tls","msg":"served key authentication certificate","server_name":"<ドメイン>","challenge":"tls-alpn-01","remote":"46.29.169.36:63136","distributed":false} Feb 15 11:15:28 misty caddy[2981403]: {"level":"info","ts":1676477728.6581016,"logger":"http.acme_client","msg":"authorization finalized","identifier":"<ドメイン>","authz_status":"valid"} Feb 15 11:15:28 misty caddy[2981403]: {"level":"info","ts":1676477728.6589515,"logger":"http.acme_client","msg":"validations succeeded; finalizing order","order":"https://dv.acme-v02.api.pki.goog/order/oCVILp8kjElvQnZWnvFX0A"} Feb 15 11:15:34 misty caddy[2981403]: {"level":"info","ts":1676477734.5884278,"logger":"http.acme_client","msg":"successfully downloaded available certificate chains","count":1,"first_url":"https://dv.acme-v02.api.pki.goog/cert/4S6dCCidjIf3eN-C-pB-DhajSt0j7XoUQqTDq8fpltw"} Feb 15 11:15:34 misty caddy[2981403]: {"level":"info","ts":1676477734.589921,"logger":"tls.obtain","msg":"certificate obtained successfully","identifier":"<ドメイン>"} Feb 15 11:15:34 misty caddy[2981403]: {"level":"info","ts":1676477734.5903862,"logger":"tls.obtain","msg":"releasing lock","identifier":"<ドメイン>"}
以上です!ウェブサイトは、Google Trust Services からの無料の SSL 証明書で保護されるはずです。確認して、追加のセキュリティをお楽しみください。参考のために、GTS SSL で保護されたウェブサイトの画像を添付しました。