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.

関連記事

NVR500

YAMAHA NVR500で定期的にWakeOnLanを実行する方法

我が家ではYAMAHA NVR500を使っているのですが、色々活用方法がないかなーと思っていましたが、WakeOnLan(WOL)機能があるみたいなので少し勉強してみたので、備忘録としても残しておこう …

サーバ

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

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

リストレスト(TOK-MU3N)でキーボード操作時の肘の痛みが解消した!

キーボードを操作しているときに感じていた肘の痛みを解消するため、リストレストを導入したのでレビューしてみます!なんでもっと早く買わなかったんだろう…

ブログ執筆

なんと3000PV達成!ブログ開設7ヶ月で達成!

月間3000PV達成しました!ちょっと嬉しいので記事に残しておこうかと思います!

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

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

2018/06/17

Synology DS218playで快適生活を手に入れた!

ファイルサーバのリプレースとして高機能NASを導入しました!快適すぎてたまらないので紹介しようと思います!

2018/06/04

無垢板でおしゃれな時計を安く自作する方法

無垢板でおしゃれな壁掛け時計をずっと探していたのですが、どれもシンプルなくせに高い!だったらDIYで作ってしまおうという話です。

2018/05/28

伝説のタムキューF017を購入!本当にトロトロで美しい!

先日、伝説と言われているTAMRONの90mmマクロレンズ F017を購入しました。レンズの所有欲も満たされ、写る映像もトロトロで本当に美しくて楽しいレンズです。

2018/05/08

エンジン刈払機CG24ECPを購入!何日もかかる草刈りが1時間で終わる!

春暖かくなる時期から雑草と戦うシーズンが始まりますよね。庭を持っている方であれば草刈りがどれだけ苦痛で大変なものか…。 今回は、エンジン刈払機を購入したので、使い方や実際に使って見た感想を紹介したいと …

2018/04/07

ドラム式洗濯機デビュー!一人暮らしこそドラム式洗濯機を選ぶべきだと思う!

ついにドラム式洗濯機デビューしました!購入してから数週間使ってみましたが、ドラム式洗濯機は一人暮らしの時にこそ買うべきものだと思いました!