クラウドインフラ構築記

現在AWSの構築支援に携わっております。今注視しているのは、GKE、BigQuery、Google Dataflowなどサービスを展開しているGoolge Cloud Platformです。

無料SSL証明書Let’s Encrypt 導入してみました。


https://letsencrypt.org/ 無料SSL証明書を導入してみました。

letsencrypt-autoを実行すると、必須パッケージをもろもろダウンロード、インストールを自動で行ってくれます。

./letsencrypt-auto certonly --webroot --webroot-path /www -d <domain> -d www.<domain>

GCP HTTP Load balancerで使うためには、global forwarding ruleを追加します。

screencapture-console-cloud-google-com-networking-loadbalancing-http-details-web-map-globalForwardingRules-add-1456408980943

上記Certificateから、SSL証明書、秘密鍵、中間証明書を登録します。

GCP HTTP Load balancerにも発行した証明書を登録できました。ただ、中間証明書は、letsencrpt-autoコマンドで作成されたものではなく、下記から取得しました。中間証明書は、Let’s Encrypt Authority X2でなく、Let’s Encrypt Authority X1を使います。

https://letsencrypt.org/certificates/

Redirect Loopを防ぐのに、nginxの設定を一部変更しています。

location / {
root /www;
index index.php index.html index.htm;
if ($http_x_forwarded_proto = "http") {
rewrite ^/(.*)$ https://www.domain/$1 permanent;
}

また、ブログとしてWordpressを利用している場合、wp-config.phpも変更します。

define('FORCE_SSL_ADMIN', true);
if ( ! empty( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' ) {
$_SERVER['HTTPS']='on';
}

ただ、Let’s EncryptのSSL証明書は三ヶ月と短いので、更新の自動化は必要かと。

SSL証明書の更新自動化は下記を使えばできそうか。

gcloud compute ssl-certificates create NAME --certificate LOCAL_FILE_PATH --private-key LOCAL_FILE_PATH [--description DESCRIPTION] [GLOBAL-FLAG …]
gcloud compute target-https-proxies update NAME [--ssl-certificate SSL_CERTIFICATE | --url-map URL_MAP] [GLOBAL-FLAG …]

コメントは受け付けていません。