DeathMarch.net

カメラや写真、RaspberryPiやLinux関連の活用方法、普段使っているモノのレビューや自作したものを写真多めで紹介します。

Linux

KUSANAGIのSSL証明書が切れそうなのに更新できなくて苦労した

投稿日:2017年7月4日 更新日:

LINEで送る
Pocket

KUSANAGI(WordPress)のSSL証明書(Let’s Encrypt)が自動更新されていませんでした。更新するまでの手順を紹介します。

スポンサーリンク

 

証明書の更新期限が迫っている!

Let’s Encryptから珍しくメールが来ていた。なんだろう?

Hello,

Your certificate (or certificates) for the names listed below will expire in
9 days (on 08 Jul 17 06:24 +0000). Please make sure to renew
your certificate before then, or visitors to your website will encounter errors.

……

 

は?!

証明書の有効期限が切れそうだという話でした。このブログサーバーの証明書だ…!
しかもよく見たら何通かメール来てたし!!見逃してた…!

 

若干焦りながらChromeで証明書を確認してみる。
Chromeで証明書を確認する方法は、右クリックして「検証」→「Security」→「View certificate」で確認できます。

証明書更新前

うわまじか。

ということで、急いで更新しないといけない状態になりました。

 

kusanagiコマンドで更新を試みる

ググったところ、kusanagiコマンドで更新できるみたい。なんだコマンド一発じゃないか。

 

まぁ失敗するよね。これが出来たら自動更新できているはずだし。

原因調査から始めます。

 

原因はFQDNネーム

エラーメッセージあたりを読んでググると、原因はさくっと分かりました。

以下の2つの条件を満たすとき、kusanagi provision で www.example.com と example.com のどちらかを FQDN に指定すると、www.example.com と example.com の両方を VirtualHost として設定します。

  • www.example.com と example.com の両方が、DNS のAレコードに登録されている
  • exmaple.com が whois情報に登録されている

また上記の FQDN の指定に加え、メールアドレスを指定して Let’s EncryptでSSL証明書を取得したとき、www.example.com と example.com の両方を登録したSSL証明書を取得します。
kusanagi setting –fqdn でFQDN を変更したとき、kusanagi ssl でLet’s EncryptでSSL証明書を取得するときも、同様の処理を行います。

KUSANAGI バージョンアップ情報 8.0.0-2から引用

要するに、ドメイン名のwww有りとwww無しの2つ同時にSSL証明書を取得する仕様っぽい。
www付きではサイトが見つからずに404となるため、登録に失敗する…という感じでしょうか。

だったら、www付きでアクセスしても404にならなければ良い。そんな対策をしてみます。

 

nginxの設定を変更

Webサーバの設定を変更し、www付きでアクセスした時にwww無しのアドレスにリダイレクトすれば良い。

/etc/nginx/conf.d/◯◯_ssl.confの中身に以下の内容を追加する。

 

通常HTTPアクセス用の80番ポートにもリダイレクトの設定を行います。
/etc/nginx/conf.d/◯◯_http.confの中身に以下の内容を追加する。

 

設定後にnginxを再起動する。

 

ブラウザでアクセスできるか確認し、wwwつきでアクセスしてもリダイレクトされるため、404にはならないはず!

 

少し話は変わりますが、Search Consoleを使っている方は下記に注意です。
www付きでも同じサイトにアクセスできるようにした場合は、Search Consoleの設定を行う必要があるので注意して下さい。
詳しくはSearch Console公式ヘルプを参照下さい。(使用するドメインの設定(wwwの有無)

 

いざ証明書の更新…しかしエラー

再度、証明書更新にチャレンジ!

Attempting to renew cert from /etc/letsencrypt/renewal/hogehoge.conf produced an unexpected error: urn:acme:error:rateLimited :: There were too many requests of a given type :: Error creating new authz :: Too many invalid authorizations recently.. Skipping.

どうやら何度も試し過ぎたようです。このエラーが出た場合は1時間程度待ちましょう。

 

時間を少し置いてチャレンジ。少し違うけどやっぱりエラー。

The client lacks sufficient authorization

……

<head><title>404 Not Found</title></head>

……

再び404。

アドレスは合っていることは確認済みなので、Let’s Encryptで見ている設定が怪しい。
/etc/letsencrypt/renewal/hogehoge.confをチェックする。

 

確認したところ、[[webroot_map]]のアドレスが正しいWordPressのドキュメントルートに設定されていない!

いつ変わったんだろうか…色々試している中で勝手に書き換えるコマンドがあったのだろうか…

何がともあれ、ただいまドキュメントルートに修正して再度kusanagi update certを実行。

The following certs were successfully renewed:

  /etc/letsencrypt/live/hogehoge/hogehoge.pem (success)

成功したようです!

やはり原因は、指定された場所が404になっていて見つからないと証明書更新ができないようです。

 

テスト

外部から確認する場合はこちらのサイトで確認できます。(QUALY’S SSL LABS

結果はこちら。

証明書更新後

証明書の有効期限が更新されています!無事に証明証が更新されました!

 

SSL証明書を自動更新するようにスケジューラに登録する

今回は手動で証明書を更新したため、再び有効期限がやってきます。
kusanagiコマンドで定期的に証明書を更新すれば、更新作業は自動化できます。

早速、cronに以下を登録しましょう。

今回は、毎週木曜日の午前3時12分に自動更新させています。時間は環境に応じて変更して下さい。

まぁ、自動更新に失敗し続けたらまたメール来ると思います(笑)

 

最後に

他のサイトでは、SSL証明書を取得するためのシェルスクリプトを直接修正する方法が紹介されていました。

無理矢理登録させるのはスマートじゃないし、その場しのぎ感があって個人的にはあまり好きじゃないです。

サーバを運用しているとシステム的なトラブルもあると思います。
色んな経験をしながらスキルアップしている感じがして、面倒ですが面白いですね。

スポンサーリンク
LINEで送る
Pocket

-Linux
-, ,

執筆者:


comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

関連記事

本格的な夏を迎える前に自宅サーバの健康診断と掃除をしよう

本格的に暑い時期になります。年に一度の健康診断の意味も込めて自宅サーバを掃除しました。

プロが認めるマウスパッド(SteelSeries Qck mini)を買ってみた

新しいマウスパッドに新調!今回はSteelSeries Qck miniを買ってみたのでレビューします。

KUSANAGI for さくらのVPSでIntel Meltdown/Spectre対策を実施した

2018年になってからというもの、Intelプロセッサの脆弱性について報道されています。MeltdownとSpectreと呼ばれ、かなり広範囲のユーザに影響があります。今回は、VPSで脆弱性対策を実施 …

METIS PLUSとASRock J4105-ITXで省電力・静音録画サーバを作る

録画サーバのリプレースとして、METIS PLUSとASRock J4105-ITXを使って自作サーバを構築したので紹介しようと思います。ちなみに自作PC初体験でした。

サーバ

自宅サーバを使い続ける理由とメリットを考える

かれこれ10年近く自宅サーバを運用しています。自宅サーバのメリット、デメリットなどを振り返ってみようと思います。

2020/04/26

IKEAの「LILLABO」でプラレールとBRIOとプチ電車を比較して分かったこと

電車のおもちゃって種類が色々あるけど、ちゃんとレール走れるのかな?ということで検証してみました。

Mac mini 2018

2019/12/09

Mac mini 2018をレビュー!周辺機器も紹介します!

自宅メイン機の刷新でMac mini 2018を購入しました!購入したモデルの詳細とレビュー、現在使っている周辺機器を紹介します!

2019/12/09

自宅で薪作りをするために電動チェーンソーCS-2501を購入!

自宅で薪作りをするため、電動チェーンソーを追加購入しました。STIHL MS170と比較しながらRYOBI CS-2501をレビューしてみようと思います!

外観

2019/12/07

Focusrite Scarlettでハイレゾ試聴環境を構築してみた

最近ハイレゾ、ハイレゾ…と目にする機会が増えてきたので、そろそろハイレゾ環境を構築してみようと思い、オーディオインターフェースであるFocusrite Scarlettを使ってハイレゾ鑑賞環境を構築し …

2019/03/11

METIS PLUSとASRock J4105-ITXで省電力・静音録画サーバを作る

録画サーバのリプレースとして、METIS PLUSとASRock J4105-ITXを使って自作サーバを構築したので紹介しようと思います。ちなみに自作PC初体験でした。