想ひ出11: GCP/Let's Encryptを使ったLBのHTTPS負荷分散の練習
おはようございます、moqrinです。
今回は前回に続く「Let's Encryptを使ったLBのHTTPS負荷分散の練習」です。
LBの設定ってインスタンスグループ単位じゃないとダメなんかい〜!って思いました。。
やったこと
1. Let's EncryptでワイルドカードのSSL証明書を取得する
2. Nginxでリダイレクト設定
3. インスタンスグループ作成
4. LoadバランサーのSSL設定
5. DNSの設定
6. 確認
1. Let's EncryptでワイルドカードのSSL証明書を取得する
① とりあえずcertbotをインストール
yum -y install certbot-nginx
certbot certonly --manual \ --preferred-challenges dns-01 \ --server https://acme-v02.api.letsencrypt.org/directory \ -m YOUR_MAIL_ADDRESS \ -d DOMAIN_NAME \ -d *.DOMAIN_NAME
IPを記録しても良いかどうか聞かれるので、「Y」を入力
TXTレコードを設定してくれと言われるので、Cloud DNSでTXTレコード登録
TXTレコードの確認してから上記をEnter
dig -t txt _acme-challenge.DOMAIN_NAME
2. Nginxでリダイレクト設定
# nginx.confに追記 if ($http_x_forwarded_proto = "http") { return 301 https://$host$request_uri; }
ついでにwordpressの設定にも追記しとこう
# wp-config.phpに追記 if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') $_SERVER['HTTPS'] = 'on';
3. インスタンスグループ作成
設定完了したインスタンスのスナップショット
↓
ディスク作成
↓
イメージ作成
↓
インスタンステンプレート作成
↓
インスタンスグループ作成
4. LoadバランサーのSSL設定
① バックエンドの設定例
ここはhttp
② フロントエンドでのSSL証明書の登録
③ フロントエンドの設定例
443,80ポートを両方開放して80で訪問してきた場合に443にリダイレクトさせる
5. DNSの設定
対象のドメインをAレコード:フロントエンドのIPで登録
6. 確認
しっかりリダイレクトも効いてるね!