Let's Encryptのサーバ証明書有効期限が1ヶ月前になった。
![](https://blogimg.goo.ne.jp/user_image/5e/9d/a29ee2694ccbd38c61f75530c6217ddd.png)
前回のLet's Encrypt自動更新は、http及びhttps両方のアクセスができるよう設定してあった。
今回の自動更新では、httpアクセスをhttpsへのリダイレクトが設定してある。
サーバ証明書の自動更新時にどのようなアクセスが行われるのか確認するため、ログ記録を設定してみた。Let's Encrypt関連アクセスだけを記録するため、「map」を使った条件付きアクセスログ設定と「log_format」変更設定とした。
「map」と「log_format」は、「http」セクションに設定する必要がある。Synology DS-216Jの「/etc/nginx/nginx.conf」にhttpセクションがある。ただし、ここに追加すると「再起動」や「アップデート」時にデフォルト状態に戻されてしまう。httpセクションにディレクティブを追加するには、「include /etc/nginx/conf.d/http.*.conf」で読み込まれるよう「/etc/nginx/conf.d/http.ssl-log-form.conf」ファイルに記述した。
/etc/nginx/conf.d/http.ssl-log-form.conf」(/usr/local/etc/nginx/conf.d/http.ssl-log-form.conf)
![](https://blogimg.goo.ne.jp/user_image/0c/48/2f5f34357a7ad52ac00d7f2458e5d7c9.png)
このファイルに、ログが「http」なのか「https」なのかが判るように「$scheme」が記録されるようにした「main1」のlog_formatとLet's Encrypt関連アクセスだけ記録させるための「map $request $letsencryptf」を設定した。
Name Virtual Serverの設定「/etc/nginx/sites-enabled/somevirtual.conf」
![](https://blogimg.goo.ne.jp/user_image/7b/be/6eca69d48ca8970073b9b86e196d1cde.png)
「server」セクションのhttps(ssl)とhttpに「access_log ログファイル名 main1 if=$letsencryptf;」を設定した。
http://somevirtual.netvolante.jp/.well-known/acme-challenge/test.htmlへのアクセスログ
![](https://blogimg.goo.ne.jp/user_image/17/54/bf7c24eb9d45ca125df95960a369de9f.png)
httpでのアクセスがリダイレクトされhttpsでのアクセスが記録されている。
これで準備ができた。Let's Encryptの自動更新がされるのを待つ。
![](https://blogimg.goo.ne.jp/user_image/5e/9d/a29ee2694ccbd38c61f75530c6217ddd.png)
前回のLet's Encrypt自動更新は、http及びhttps両方のアクセスができるよう設定してあった。
今回の自動更新では、httpアクセスをhttpsへのリダイレクトが設定してある。
サーバ証明書の自動更新時にどのようなアクセスが行われるのか確認するため、ログ記録を設定してみた。Let's Encrypt関連アクセスだけを記録するため、「map」を使った条件付きアクセスログ設定と「log_format」変更設定とした。
「map」と「log_format」は、「http」セクションに設定する必要がある。Synology DS-216Jの「/etc/nginx/nginx.conf」にhttpセクションがある。ただし、ここに追加すると「再起動」や「アップデート」時にデフォルト状態に戻されてしまう。httpセクションにディレクティブを追加するには、「include /etc/nginx/conf.d/http.*.conf」で読み込まれるよう「/etc/nginx/conf.d/http.ssl-log-form.conf」ファイルに記述した。
/etc/nginx/conf.d/http.ssl-log-form.conf」(/usr/local/etc/nginx/conf.d/http.ssl-log-form.conf)
![](https://blogimg.goo.ne.jp/user_image/0c/48/2f5f34357a7ad52ac00d7f2458e5d7c9.png)
このファイルに、ログが「http」なのか「https」なのかが判るように「$scheme」が記録されるようにした「main1」のlog_formatとLet's Encrypt関連アクセスだけ記録させるための「map $request $letsencryptf」を設定した。
Name Virtual Serverの設定「/etc/nginx/sites-enabled/somevirtual.conf」
![](https://blogimg.goo.ne.jp/user_image/7b/be/6eca69d48ca8970073b9b86e196d1cde.png)
「server」セクションのhttps(ssl)とhttpに「access_log ログファイル名 main1 if=$letsencryptf;」を設定した。
http://somevirtual.netvolante.jp/.well-known/acme-challenge/test.htmlへのアクセスログ
![](https://blogimg.goo.ne.jp/user_image/17/54/bf7c24eb9d45ca125df95960a369de9f.png)
httpでのアクセスがリダイレクトされhttpsでのアクセスが記録されている。
これで準備ができた。Let's Encryptの自動更新がされるのを待つ。