久しぶりの更新ですが、最近のWebサイトは常時SSLが標準だと言われてきています。
そろそろ、やらねばと思いながら数年たってしまったのですが、ここら辺で重い腰を上げて、Let’s Encryptを使用して無料SSL/TLS証明書を入れてみて、当webサイトもSSL化してみました。
使用しているサーバーがLinuxなので、certbot-autoコマンドを入手してササッと済ませました。
だけだと、記事にならないし、備忘録にもならないので、もう少し詳しく書きます。
certbot-autoのインストール
Let’s Encryptのサイトに従って certbot-autoのコマンドを入手
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
このコマンドを適当な場所に配置して(忘れそうなので、~root/bin/ とかに置きました)、まずは実行します。
実行すると、必要なコマンドをダーーーっと勝手にダウンロードされ、パッケージがインストールされます。その後、いろいろと質問されます。
全部の質問を覚えていないのですが、(サイトに書いてあるのも時期によって変わるのか違ったりしますが、)
- メールアドレス (更新の通知とかが飛んでくる?)
- https だけにして、 httpからはリダイレクトするのか?
- どのサイトの証明書を作るのか?
あたりが聞かれます。YとかNとか、番号で答えていけば、apacheでvirtualドメインをしていても見つけ出して自動で書き換えしてくれたりして、とても賢いスクリプトでした。
最後に出ててくる表示によると、https://www.ssllabs.com/ssltest/analyze.html?d=tjs.tokyo などにアクセスすると、動作確認をしてくれて状態の確認ができました。
最初は、firewall(ufw)を設定していて、443ポートが閉じていたので、うまくいかなかったので、そういう環境の場合には、そのあたりも確認してみてください。
ちなみに、自分は、iptablesなのかufwなのかも忘れていたような状態でした。
ufw status numbered
ufw allow "Apache Full"
で解決しました。
でも、この証明書は90日間のみなので、90日したらまた更新のコマンドを打たないといけないようです。
To non-interactively renew *all* of your certificates, run "certbot-auto renew"
果たして、更新も問題なくいくかが心配ではあります。