GCP上でSSL証明書を発行できるのですが、ワイルドカードには非対応です。
SSL 証明書の概要 | 負荷分散 | Google Cloud
そこで、適当な証明書を外部で発行して、登録するという手順が必要となります。証明書の発行手順はいくつかありますが、今回は無料で使用できるLet's encryptを使います。
Let's Encrypt - フリーな SSL/TLS 証明書
前提
- ドメインは作成・登録済
- 自端末はMac
- Mojave 10.14.6
証明書発行
certbot インストール
Certbotというcliツールをinstallします。
Let's encrypt
でぐぐると、Linux上で実施している手順がよく見つかりますが、Mac上にもinstallできます。
$ brew install certbot
$ certbot --version
certbot 1.10.1
証明書作成
$ sudo certbot certonly --manual \
--server https://acme-v02.api.letsencrypt.org/directory \
--preferred-challenges dns \
-d "*.XXXXX.com" -d "XXXXX.com" \
-m "XXXXX@XXXXX.co.jp" \
--agree-tos
DNSにTXTレコードを設定するように言われるので、使用しているDNSサービスで設定します。
(設定画面の説明は省略)
Please deploy a DNS TXT record under the name
_acme-challenge.XXXXX.com with the following value:
XXXXXXXXXXXXXXXXXXXXX
Before continuing, verify the record is deployed.
設定後、反映されたか確認(通常、数分かかります)
dig @8.8.8.8 _acme-challenge.XXXXX.com txt
確認できたら、certbotの方でEnter。
この手順が2回あります。
うまくいくとこういうメッセージが出ます。
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/XXXX.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/XXXX.com/privkey.pem
Your cert will expire on 2021-06-09. To obtain a new or tweaked
version of this certificate in the future, simply run certbot
again. To non-interactively renew *all* of your certificates, run
"certbot renew"
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
指定された場所を見るとファイルが作成されています。
sudo ls -altr /etc/letsencrypt/live/XXXX.com
LoadBalancerに反映
公開鍵証明書 -> cert.pem
証明書チェーン -> chain.pem
秘密鍵 -> privkey.pem
を設定します。