nginxにSSLで保護されたサイトを追加する方法(certbotを使って簡単に)
nginxにVirtualHostを追加する勉強をしています。
単純に追加するならnginxの設定ファイルに書くだけですが、SSLで保護するためには証明書の取得も必要になります。
復習を兼ねて、手順をまとめておきます。
大まかな流れ
というのが本来の流れだと思うのですが、certbotというプログラムを使うと、手順3と4を自動で済ませられます。今回はこのcertnotを使用した手順をまとめます。
実施環境など
- サーバー用ホストマシン(レンタルサーバー):さくらVPS, Debian 9.9
- webサーバー:nginx 1.16.0
- ドメインの取得:freenom で.tkドメインを取得
- 認証局:Let's Encrypt
手順詳細
手順1: ドメイン取得
無料で取得できる.tkドメインを取得します。
Dot TK のサイト で希望するドメイン名を入力します。
出てきた候補の中から.tkのドメインを選択し、チェックアウトボタンを押すと、freenomのページに飛びます。
Continueボタンを押して、言われるがままフォームに入力していけば、ドメインが取得できます。
手順2: IPアドレスとドメイン名の紐付け設定
さくらVPSのネームサーバー新規登録画面で、新しく取得したドメイン名を入力します。
手順3: certbotをインストールして実行
まず、nginxに新しいドメイン名のVirtualHostを設定しておきます。この段階ではSSL用の設定をしておく必要はありません。
次にcertbot公式サイトを参照してインストール&実行します。 サーバープログラム名とOS名を入力すると、その組み合わせに応じたインストール方法を表示してくれます。
certbotを実行すると色々聞かれますが、言われるまま答えていけば最終的にnginxの設定ファイルの編集までやってくれます。
最後に、https://[新しいドメイン名]/ にアクセスして、意図した通りのindexページが表示されれば終了です!
感想
サーバー証明書の発行ってなんだかとても難しそうなイメージでしたが、便利なツールがあるもので、certbot使ったら簡単でした。 あまりに簡単で勉強にならないので、次はcertbot使わずに改めて自分でやてみます。