Google App EngineにLet's EncryptのSSL証明書を設定

Google App EngineにLet's EncryptのSSL証明書を設定しました。基本的には以下のエントリーの通りに実行しましたが、Homebrewでcertbotをインストールして実行する方法にしました。

blog1.erp2py.com

Homebrewでcertbotをインストールして、SSL証明書を作成するコマンドを実行します。

$ brew install certbot
$ sudo certbot -a manual certonly

指定されたURLにアクセスして、指定された文字列が記述されている必要があります。さきほどのエントリーで紹介されていた方法が簡単で、Google App Engineのapp.yamlに以下の指定をします。

- url: /.well-known/acme-challenge/?(.{5}).*
  static_files: applications/myapp/static/letsencrypt/\1.txt
  upload: applications/myapp/static/letsencrypt/(.+)
  mime_type: text/plain

「指定されたURLの最初の5文字.txt」というファイルを作成して、そのファイルに指定された文字列を記述します。URLが正常に稼働した段階で、certbotコマンドの続きをします。正常に実行されると、以下のディレクトリに証明書のファイルが作成されます。

  • /etc/letsencrypt/live/yourdomain/fullchain.pem
  • /etc/letsencrypt/live/yourdomain/privkey.pem

これらのファイルをGoogle App Engineの管理画面から登録します。fullchain.pemはそのまま登録すればよいのですが、privkey.pemは以下のコマンドに通した結果を登録する必要があります。

$ sudo openssl rsa -inform pem -in privkey.pem -outform pem