前提
・AWSのEC2(Ubuntu20.04LTS)を使用
・Django, Nginx, Gunicornを用いてEC2にデプロイされており、httpでアクセスできる状態
前提から外れている方へ
・Cirtbotの公式ドキュメントを参考にして、自らの環境に合わせれば自動で必要なコマンドを教えてくれます。
全体の流れ
- EC2にSSH接続
- snapdをインストール
- snapdをアップデート
- Certbotを削除
- Certbotのインストール
- シンボリックリンクを作成してcerbotコマンドを使えるようにする
- CertbotでSSL証明書を発行
- 証明書の自動更新を設定
- 自身のドメインに
https://で始まるURLで接続確認
2. snapdをインストールする必要があればインストール
インストールの必要があるかはここで確認
(Ubuntu20.04LTSはデフォルトでインストールされているため必要なし)
$sudo snap install core
3.最新のsnapdにアップデート
$sudo snap refresh core
4.Certbotを削除
sudo apt-get remove certbot
apt-getを使うかdnfを使うかyumを使うかは使っているEC2のOSに合わせる
(Ubuntuの場合はapt-get)
6. Certbotのインストール
$ sudo snap install --classic certbot
7. シンボリックリンクを作成してcerbotコマンドを使えるようにする
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
反応は無いですが大丈夫です。これを実行することで以降のコマンドでcertbotから始まるコマンドを認識してくれるようになります。
8. CertbotでSSL証明書を発行
$ sudo certbot --nginx
このコマンドを実行してから以下の手順に従う
- メールアドレスを聞かれる(障害発生の際に通知されるため必要)⇒入力
- ポリシーに同意するか?⇒Y(Yes)
- 問題発生時にメールアドレスのシェアを許可するか?⇒N(No)
- どのドメインに対してSSL証明書を発行するか?⇒設定したいでメインを番号で選択
9. 証明書の自動更新を設定
$ sudo certbot renew --dry-run
これをすることで自動で証明書を更新してくれるようになります。
10. 自身のドメインにhttps://で始まるURLで接続
簡単にできました!公式ドキュメントに感謝です!
