1.5. (オプション)Let’s encryptを利用したサーバ証明書の取得¶
Let’t Encryptを利用してサーバ証明書を取得します。とりあえずhttp/80のWEBサーバでのテストでも構わないという方は本章はスキップして下さい。
Certbot とNGINXプラグインをインストールします。Complete!と表示されればインストール完了です。(注:本ガイド作成時点ではAmaon Linux 2では公式にはサポートされていないようですが、正常に動作はするようです。(ご参考サイト: Certificate Automation: Amazon Linux2でのLet’s EncryptとCertbotの使用 、 User Guide )
sudo yum install certbot python2-certbot-nginx -y
インストール済みのCertbotを利用して、サーバ証明書を取得します。
sudo certbot --nginx -d <WEBサーバのドメイン名>
インストラクションに従い、E-mail address 、Y 、N と入力します。Congratulations! と表示されれば成功です。/etc/nginx/nginx.confを開き、サーバ証明書、秘密鍵のパスが自動的に記載されていることを確認します。自動的にnginx.confが上書きされていない場合は、手動で修正します。
ブラウザでhttps://<WEBサーバのFQDN>にアクセスし、サーバ証明書が表示されることを確認します。
opensslコマンドを利用し、プライベートキーを PKCS#8 フォーマットから PKCS#1 フォーマットに変換し、SCPコマンドなどでプライベートキーと証明書(fullchain.pem)をダウンロードします。(ご参考ページ: valid PKCS#1, ASN.1 DER form - while adding new certificate )
sudo openssl rsa -in /etc/letsencrypt/live/www.xxxx.net/privkey.pem -out /home/ec2-user/privatekey-pkcs1.pem