2017年1月22日日曜日

Let's encrypt で、GAEで動作しているアプリをHttps化してみた

試しに、GAE上で動作させているWebページをHttps化してみました。
https://firefirestyle.net

SSLには、Let's Encrypt(https://letsencrypt.org/)を利用しました。
https://certbot.eff.org/#osx-otherの通りに手を動かすとできます。

Install

brew install certbot


Get Started

1) sudo certbot certonly --manual

1-1) Please enter in your domain name(s) (comma and/or space separated)  (Enter 'c' to cancel):
firefirestyle.net

登録するドメインをしていする

1-2) Are you OK with your IP being logged?
Y

IPを記録するとのことなので、OKする。NOだと、登録できない。


1-3) Make sure your web server displays the following content at
http://firefirestyle.net/.well-known/acme-challenge/xxxxxyyyyy...

zzzzaaaaa....

http://firefirestyle.net/.well-known/acme-challenge/xxxxxyyyyy...
を開くと、zzzzaaaaa....と表示されるようにする。


1-4) Enterを押すとpemが生成されます。


2) private.keyをrsaフォーマットにコンバードする
sudo openssl rsa -inform pem -in privkey.pem -outform pem -out out.pem


3) GAEの登録
3-1) ページを開く
https://cloud.google.com/appengine/docs/python/console/using-custom-domains-and-ssl
に記載の登録ページに行く

3-2) PEM encoded X.509 public key certificate に、fullchain.pem を指定する

3-3) Unencrypted PEM encoded RSA private keyに、out.pem を指定する



期間

証明書の期限は、3ヶ月なので、こまめに更新する必要があります。
もともと、lets encrypt は、Unencrypted PEM encoded RSA private key を利用して
自動更新する方法を想定して作られています。

GAEでの、この辺りの自動化については、以下とか参考にしてください。

まだ、私は試していません。

参考

http://koni.hateblo.jp/entry/2016/06/02/233900
http://blog.seafuj.com/lets-encrypt-on-google-app-engine
https://community.letsencrypt.org/t/error-adding-cert-invalid-private-key/5167




これから読む

https://github.com/jlandure/go-appengine-https
https://github.com/xenolf/lego




1 件のコメント:

  1. こっちを見るべし

    https://cloudplatform.googleblog.com/2017/09/introducing-managed-SSL-for-Google-App-Engine.html



    返信削除

mbedtls dart の 開発を始めた web wasm ffi io flutter

C言語 で開発した機能を、Dart をターゲットとして、Web でも サーバーでも、そして Flutter  でも使えるようにしたい。 そこで、mbedtls の 暗号化の部分を Dart 向けのPackageを作りながら、 実現方法を試行錯誤する事にした。 dart...