2021/07/17(土)WebサーバをHTTPSに対応させる

2021/07/17 19:42 PC(Linux)
時間がないのでメモだけ。

最近はLet's Encryptの証明書発行もかなり簡単にやれるというので、当サイトもついに対応することにした。

基本的には下記のやり方通り。

Debian9 + Apache に"Let's Encrypt"をセットアップしてみた!! : プログラミング Tips

ただし、certbotコマンドについてはサブドメインがあるので、
#certbot certonly --webroot -w /var/www/html -d dt8.jp www.dt8.jp
とした。

また、SSLCipherSuiteの設定は息が長くなるよう、
mod_sslで使用するSSLCipherSuiteの設定を詰めてみる '20 - Qiita
に従った。

ローカルからのアクセスでhttps://~が表示されることを確認。

問題なさそうなので、ファイアウォール設定を変更しIPv4 ポート443の外部アクセスを開けた。

/etc/iptables/rules.v4
を編集して、
#netfilter-persistent reload
サーバ入れ替えた際に、かなり雑に作業をしてしまったのでiptablesの管理方法をちゃんと定義できてない。
年末までになんとかしよう。

SSL Server Testで、一応A判定が出ていることを確認。
https://www.ssllabs.com/ssltest/analyze.html?d=www.dt8.jp

さらに証明書更新したら、自動的にサーバを再起動してメールを送る設定にする。

/etc/letsencrypt/renewal-hooks/

に適当なシェルを作成し、
#!/bin/bash
/usr/sbin/apache2ctl restart
/bin/echo "証明書を更新し、Webサーバを再起動しました。" | /usr/bin/mail -s "証明書更新・Webサーバ再起動通知" -r mailaddress@example.com mailaddress@example.com
とか書く。

クリティカルなサービスがないので完全自動で良いし、restartで安全に。
当たり前だが、落とせないサービスならこんな事やってはいけない。

念の為動作テストする。
#certbot renew --force-renewal
証明書の期限更新~Webサーバの再起動~メール送信の一連の処理が行われることを確認。
更新制限があるので、何度もテストすのはNG。

あとは、サイト内にhttp://~から書いているところがあるかもしれないので、気づいたら直す。
そもそもリニューアルを予定しているのでちまちまやってく。

半年以上安定したら、mod_rewriteでhttp→httpsに振るようにしたい。
OK キャンセル 確認 その他