ソリッドシード株式会社

DockerとLet’s Encryptで簡単にサイトをSSL化できる!

2020年8月25日

以前に無料SSL証明書のLe’s Encryptを紹介しました。(コラムはこちらです
SSLが無料で設定できるので便利なのですが、導入するにはcertbotのインストールが必要なのと、pythonのバージョンによってはインストールしたcertbotと相性が悪く動作しない場合があるため手間がかかります。

Dockerで簡単に導入

Dockerがインストール済みなのが前提になりますが、
1. certbotコンテナ作成
2. コンテナでSSL証明書の作成実行
3. 完了後にコンテナを削除
を1行のコマンドで実行できます。

環境に合わせてホスト側のボリュームやドメインの変更が必要ですが、下記のコマンドを実行するとSSL証明書が作成されます。

docker run -it –rm –name certbot -v “/var/www/html:/var/www/html” -v “/etc/letsencrypt:/etc/letsencrypt” -v “/var/lib/letsencrypt:/var/lib/letsencrypt” certbot/certbot certonly –agree-tos –webroot -w /var/www/html -d [ドメイン名]

少しコマンドの解説をします。
「–rm」オプションを付けるとコンテナの終了時に自動でコンテナを削除します。
「/var/www/html:/var/www/html」のホスト側はドキュメントルートのパスを設定して下さい。
「/etc/letsencrypt:/etc/letsencrypt」にSSL証明書が作成されます。
ホスト側のパスを変更すれば指定した場所にSSL証明書が作成でき、「/etc/letsencrypt/live/[ドメイン名]」にファイルが格納されてます。

常に最新バージョンのソフトウェアでSSL証明書が作成できるので安心して利用できます。

投稿者:Saito