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.

関連記事

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

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

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

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

NVR500

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

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

ブログ執筆

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

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

サーバ

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

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

2018/11/13

割れた食器を金継ぎDIYで復活させる方法

日本伝統の器の修復方法である金継ぎですが、本格的な漆を使った金継ぎは時間がかかるので気軽にチャレンジするには難しいと思います。そんな金継ぎですが、化学の力を使って出来るなんちゃって金継ぎに挑戦してみま …

2018/11/12

薪ストーブ1年目で揃えた道具を紹介

家を新築する際、薪ストーブのある家が理想だったので薪ストーブを導入しました!しかし道具はどこまで必要なんだろうか…そんな方も多いと思うので、今回は私が薪ストーブ1年目で揃えた道具を紹介します!

2018/09/29

シンプルで美しく実用的な山田照明 Z-LIGHTが素晴らしい!

シンプルで美しく、かつ実用的な山田照明 Z-LIGHTのおすすめポイントを紹介しようと思います!

2018/08/29

コーヒー好きなら絶対に後悔しない!カリタ ナイスカットGを紹介します!

ゆっくりコーヒーを楽しみたい人、忙しくても美味しいコーヒーが飲みたい人、気分によって色んなコーヒーを飲みたい人、すべての人にオススメできるカリタ ナイスカットG(NiceCutG)を紹介しようと思いま …

薪ラック完成形

2018/08/27

DIYで薪ラックを自作しよう!2×4材で簡単に作る方法を紹介します!

薪ストーブやキャンプでは必ず薪が必要になりますよね。特に薪ストーブユーザにとって薪集めは楽しみでもあり悩みでもあるはず。 今回は2×4材を使ったシンプルな薪ラックの作り方を紹介しようと思います!