自分にやさしく学ぶプログラミング

プログラミング学習記録、備忘録

nginxにSSLで保護されたサイトを追加する方法(certbotを使って簡単に)

nginxにVirtualHostを追加する勉強をしています。
単純に追加するならnginxの設定ファイルに書くだけですが、SSLで保護するためには証明書の取得も必要になります。
復習を兼ねて、手順をまとめておきます。

大まかな流れ

  1. 任意のドメインを取得
  2. サーバーのIPアドレスドメイン名の紐付け設定
  3. 認証局に申請してサーバー証明書を発行
  4. nginxにVirtualHostの設定を追加

というのが本来の流れだと思うのですが、certbotというプログラムを使うと、手順3と4を自動で済ませられます。今回はこのcertnotを使用した手順をまとめます。

実施環境など

手順詳細

手順1: ドメイン取得

無料で取得できる.tkドメインを取得します。
Dot TK のサイト で希望するドメイン名を入力します。

Dot TKのドメイン検索画面。任意の文字列を入力してボタンを押すと、使用可能なドメインが表示されます。   

出てきた候補の中から.tkのドメインを選択し、チェックアウトボタンを押すと、freenomのページに飛びます。 freenomのドメイン取得画面の画像です。前のページで選択したドメインが表示されています。

Continueボタンを押して、言われるがままフォームに入力していけば、ドメインが取得できます。

手順2: IPアドレスドメイン名の紐付け設定

さくらVPSのネームサーバー新規登録画面で、新しく取得したドメイン名を入力します。 画面の最後にドメイン名を入力するフォームがあります。新しく取得したドメイン名を入力して、送信するボタンを押します。

手順3: certbotをインストールして実行

まず、nginxに新しいドメイン名のVirtualHostを設定しておきます。この段階ではSSL用の設定をしておく必要はありません。

次にcertbot公式サイトを参照してインストール&実行します。 certbotのインストールページ サーバープログラム名とOS名を入力すると、その組み合わせに応じたインストール方法を表示してくれます。

certbotを実行すると色々聞かれますが、言われるまま答えていけば最終的にnginxの設定ファイルの編集までやってくれます。

最後に、https://[新しいドメイン名]/ にアクセスして、意図した通りのindexページが表示されれば終了です!

感想

サーバー証明書の発行ってなんだかとても難しそうなイメージでしたが、便利なツールがあるもので、certbot使ったら簡単でした。 あまりに簡単で勉強にならないので、次はcertbot使わずに改めて自分でやてみます。