DDNSのアドレスでSSL証明書をLet’s Encryptから取得する
自宅サーバーのSSL(TLS)化に必要なサーバー証明書を、Let’s Encryptから取得します。対象となるURLはNoIP.comの有料プランで取得したDDNS (ダイナミックDNS) のもので、 myhome.ddns.net のような形式です。DDNSのアドレスで取得できるのか不安でしたが、問題なくできたのでまとめておきます。 環境 特筆すべき点のない、普通の自宅サーバーです。 OS Ubuntu Server 18.04.2 (64bit) nginx 1.14.0 (Ubuntu) certbot 0.23.0 手順 nginxをセットアップし、インターネットからTCP 80ポートでnginxのドキュメントルートにアクセスできるようにしておきます。 NoIP.comなどでDDNSのアドレスを取得し、IPを設定します。 ここからはサーバーでの作業です。 Let’s Encryptの証明書取得ツールである「certbot」をインストールします。 sudo apt update sudo apt install certbot あとは以下のコマンドを実行するだけ(当然ですが my-home-server.ddns.net をご自分のものに置き換えて) sudo certbot certonly --webroot -w /var/www/html/ -d my-home-server.ddns.net -w オプションでnginxのドキュメントルートを指定しています。環境に合わせて変えてください。 問題なければ、 -w オプションで指定したディレクトリに認証用ファイルが作成され、それをネットからHTTPでLet’s Encryptのサーバーが読みに来て、確かにこのアドレスの持ち主であると確認するようです。 完了すると「Congratulations! Your certificate and chain have been saved at:~」と表示されるので、表示された証明書の保存先をメモっておきます。 あとはその証明書をサーバーで使用する設定をするだけです。私の場合はこんな感じ。...