LoginSignup
13
17

More than 5 years have passed since last update.

Dockerを使ってLet's Encrypt で Nginx にSSLを簡単に設定

Last updated at Posted at 2018-07-12

元記事
https://finnian.io/blog/ssl-with-docker-swarm-lets-encrypt-and-nginx/

NginxのSSLを設定するのに、いちいちconfigファイルを変更するのがややこしいので、Dockerを使って簡単に証明書を取得する

location ^~ /.well-known/acme-challenge/ {

いちいちこういうふうにletsencryptのための設定を加味する必要はないし、apt-getでソフトを取得する必要はない(Dockerさえあれば)

手順

  1. Dockerをインストール
  2. Docker runで証明書を取得
  3. nginxに証明書の場所を追記
  4. 完了

超簡単です。

手順2

この下記コマンドを実行し、証明書を取得する

docker run -d \
 --name nginx-auto-ssl \
 --restart on-failure \
 -p 80:80 \
 -p 443:443 \
 -e ALLOWED_DOMAINS=example.com \
 -e SITES=‘example.com=111.11.11.111:443’ \
 valian/docker-nginx-auto-ssl

111.11.11.111 には、vpsの実ipアドレスを記載してください。

手順3

手順2で作成した証明書と、鍵が

/etc/letsencrypt/live/example.com/

ここに入っているはずですので、確認してください。
あれば、nginxに証明書と鍵の場所を追記し、sslの他の設定をして完了です。

ssl_certificate     /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

このやり方のなにが良いか

このやり方で一番良かったことは、Docker + nginx でWebサーバーを動かしていた場合です。
nginx on dockerの環境の場合、letsencryptを使ってsslを取得するのに、地獄の苦しみがあります。
それがなくなったことは、非常に嬉しいです。

ひたすら元記事に感謝です。

13
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
17