KUSANAGIでブログをHTTPS化するときに発生するエラーの対処法

computer

スポンサーリンク

先日ConoHa+KUSANAGI環境に移行したこのブログ。

本日、HTTPS化も無事に完了しました…が、すんなり作業が完了したわけではありません。

そこで今回は、KUSANAGIでブログをHTTPS化するときに発生したエラーの対処法をまとめておきたいと思います。

HTTPS化の作業をしたときのKUSANAGIのバージョンは8.0.0-3です。

それ以外のバージョンでは仕様が異なる可能性がありますのでご注意ください。

また、ご自身で作業される際は自己責任でお願いします。

「kusanagi ssl」コマンド実行時に発生したエラー

FQDNの値がおかしい

今回『みやの宝箱』をHTTPS化するにあたり、KUSANAGI専用コマンドの「kusanagi ssl」コマンドを使用しました。

実際に実行したのは、以下のコマンド。

kusanagi ssl --email (自分のメールアドレス) (『みやの宝箱』のプロファイル名)

コマンドの実行後、以下のようなエラーメッセージが出力されました。

Failed authorization procedure. miyatore.comwww.miyatore.com (http-01): urn:acme:error:connection :: The server could not connect to the client to verify the domain :: DNS problem: NXDOMAIN looking up A for miyatore.comwww.miyatore.com

IMPORTANT NOTES:
- The following errors were reported by the server:

   Domain: miyatore.comwww.miyatore.com
   Type:   connection
   Detail: DNS problem: NXDOMAIN looking up A for
   miyatore.comwww.miyatore.com

   To fix these errors, please make sure that your domain name was
   entered correctly and the DNS A record(s) for that domain
   contain(s) the right IP address. Additionally, please check that
   your computer has a publicly routable IP address and that no
   firewalls are preventing the server from communicating with the
   client. If you're using the webroot plugin, you should also verify
   that you are serving files from the webroot path you provided.

 (中略)

Failed.

「Domain」の欄が「miyatore.comwww.miyatore.com」になっているので、どうやらFQDNの値がおかしくなっているようです。

実はKUSANAGI7.8.3のときにも似たようなエラーが発生したことがあり、そのときはnginxの設定ファイルで「http://www.miyatore.com」から「http://miyatore.com」へのリダイレクト設定を追加していたことが原因でした。

エラーが発生していた流れをざっくり説明すると、まずKUSANAGI7.8.3ではSSL証明書を発行する際、「/usr/lib/kusanagi/lib/functions.sh」というファイルの中の関数「k_get_fqdn」で対象となるFQDNを取得していました。

この「k_get_fqdn」という関数は「/etc/nginx/conf.d/(プロファイル名)_http.conf」というファイルの「server_name」の値を読み取ります。

しかし、この関数は「server_name」が複数あることを想定していないため、サーバ節が2つあると「miyatore.comwww.miyatore.com」のように両方の値をひとつの値として扱ってしまうのです。

そのためKUSANAGI7.8.3であれば「k_get_fqdn」関数の内容を以下のように修正するとエラーが解消されます。

修正前

FQDN=$(awk -F'[ \t;]+' '/^[ \t]+server_name/ {printf "%s", $3}' /etc/nginx/conf.d/${PROFILE}_http.conf)

修正後

FQDN=$(awk -F'[ \t;]+' '/^[ \t]+server_name/ {printf "%s", $3; if ($3 != null) exit;}' /etc/nginx/conf.d/${PROFILE}_http.conf)

…が、KUSANAGI8.0.0-3ではFQDNを取得する仕組みが微妙に変更されていて、KUSANAGI7.8.3のときと同じように修正をしてもエラーが解消されません。

そこでよくよく確認してみると、「/etc/kusanagi.d/profile.conf」というファイルが原因であることがわかりました。

具体的には、このファイルの「KUSANAGI_FQDN」を以下のように修正するとエラーが解消されました。

修正前

[(プロファイル名)]
PROFILE="(プロファイル名)"
KUSANAGI_TYPE="WordPress"
KUSANAGI_FQDN="miyatore.comwww.miyatore.com"
KUSANAGI_DIR="/home/kusanagi/(プロファイル名)"

修正後

[(プロファイル名)]
PROFILE="(プロファイル名)"
KUSANAGI_TYPE="WordPress"
KUSANAGI_FQDN="miyatore.com"
KUSANAGI_DIR="/home/kusanagi/(プロファイル名)"

自動更新設定に失敗する

FQDNの値がおかしいというエラーに上記の方法で対処すると、SSL証明書の発行に成功した旨のメッセージが表示されます。

…が、その下には、以下のような新たなエラーメッセージが。

Cannot use off_quiet.
kusanagi --auto [on|off].
Failed.

どうやら「kusanagi ssl –auto」コマンドの実行に失敗しているようです。

このエラーに関しては、以下のコマンドを追加で実行すればOKでした。

kusanagi ssl --auto on

HSTSの設定に失敗する

HSTSとは何ぞやという話は割愛します。

この点についてはトツオさんが『KUSANAGIのnginxでHSTSを設定する方法』という記事にわかりやすくまとめられていますのでこちらをご参照ください。

話を戻すと、SSLの証明書を発行した後、HSTSの設定をするために以下のコマンドを実行しました。

kusanagi ssl --hsts high (プロファイル名)

すると、以下のようなエラーが。

Enabling HSTS w/IncludeSubDomain,Preloading
Setting changed,Try to register HSTS Preloading List
Failed.

確認してみると、どうやらHSTSプリロードの登録に失敗している様子。

具体的には、『HSTS Preload Submission』というサイトに「miyatore.com」ドメインを登録するのに失敗しているのです。

そこで実際に『HSTS Preload Submission』にアクセスして入力欄に「miyatore.com」を入力して「Check status and eligibility」というボタンを押してみると、「No HSTS header」というエラーが出ました。

nginxでHSTSの設定がちゃんとできていれば、このエラーは出ないはず。

nginxの設定ファイルを確認してみるとHSTSの設定は入っていたので、nginxを再起動してみるとエラーは解消されました。

HSTS Preload Submission』で「No HSTS header」のエラーが解消されると、HSTSプリロードの登録をしても問題ないかを確認するチェックボックスと登録ボタンが表示されます。

チェックボックスにチェックを入れて登録ボタンを押すと、無事にHSTSの設定ができました。

まとめ

みや
今回ご紹介したような小さなエラーは発生したものの、ブログのHTTPS化自体は大きな問題が発生することもなく終えることができました。

エラーの原因を突き止める過程はかなり割愛してしまいましたが、同じようなエラーで困っている方の参考になれば幸いです。

こちらの記事もいかがですか?

KUSANAGIでブログをHTTPS化する手順

2016.10.05

エックスサーバーからConoHa+KUSANAGIにブログを移行した手順

2016.09.25

超高速WordPress仮想マシンKUSANAGIを2週間ほど使ってみた感想まとめ

2016.09.24

ConoHaのVPSを2週間ほど使ってみた感想まとめ

2016.09.24

スポンサーリンク

computer

「面白い」「参考になる」と感じたら、ぜひシェアしてください!