Xserverの独自SSLの自動更新失敗の原因はアクセス制限かも!
2018/04/25
本エントリーの目次
今回はXserver(エックスサーバー)さんのレンタルサーバー、X10・X20・X30プランを契約していて無料独自SSLの自動更新が失敗する場合、こうすればもしかしたら更新できるようになるかもしれませんよー!という話。
Xserver(エックスサーバー)さんから『更新未完了のお知らせ』が届いた!
先日、はるるのメールボックスに以下のようなメールがXserver(エックスサーバー)さんから届きました。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【Xserver】■重要■ SSLサーバー証明書
(www.xxxxxxxx) 更新未完了のお知らせ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━会員ID : XXXXXXXX
メールアドレス : xxx@xxxxxxxx.com
平素は当サービスをご利用いただき誠にありがとうございます。
エックスサーバー カスタマーサポートでございます。サーバーID「xxxxxxxxxxxx」で利用中の下記SSLサーバー証明書に関し、当サポートで有効期限の延長をするための更新作業を行いましたが、正常に完了することができませんでした。
中略
証明書の更新を希望する場合は、【2017-XX-XXまで】にサーバーパネル「SSL設定の一覧」より「更新」をお手続きください。
詳細は、マニュアル(以下URL)をご参照ください。
◇マニュアル:独自SSL(Let’s Encrypt)について
https://www.xserver.ne.jp/manual/man_server_ssl.phpご不明な点、お気づきの点などがありましたら、当サポートまでお気軽にお問い合わせください。
(XServer – 更新未完了のお知らせメールより引用)
このメールを見たとき、最初はえっ!?何だこりゃ…。
と思ったんですが、内容をよく確認するとどうやらはるるが契約・管理しているXserver(エックスサーバー)さんのX10プランで運用中のサーバーに問題が起きているみたいでした。
具体的には、X10・X20・X30などのプランを契約していれば無料で利用できる、Xserverさんの無料独自SSLサービスを利用・適用したサーバーで、『SSL証明書の自動更新処理』に失敗しているようです。
無料独自SSLの有効期限は90日!
Xserverさんの無料独自SSLの有効期限は、仕様一覧の内容によると90日。
(Xserver – 無料独自SSLより引用)
つまり、はるるが契約・管理していたXServerさんのレンタルサーバーに適用していた無料独自SSLの有効期限が近くなったので、XServerさん側の機能で自動更新しようとしたが、失敗してしまった、ということみたいですね。
手動更新を試してみるも、更新できなかった!
先のメールの本文には、『証明書の更新を希望する場合は、【2017-XX-XXまで】にサーバーパネル「SSL設定の一覧」より「更新」をお手続きください。』と書いてありました。
もちろん証明書が期限切れになってしまうのは困るので、さっそくサーバーパネルより手動で更新を試してみることに。
そしてメールの指示通りにサーバーパネルの「SSL設定の一覧」から「更新」を実行。
すると。
(Xserver – サーバーパネル 独自SSL更新時エラー画面より引用)
…まぁ、自動更新できなかったわけですから、手動更新でもダメですよね…。
ただこの独自SSL更新時のエラー画面のメッセージ内容を見て、ピンとくるものがありました。
更新が失敗する理由に心当たりがありました
独自SSL更新時のエラー画面のメッセージ内容を把握したはるる。
実は、もしかしたらあれかなぁ…。
と思いあたるような心当たりがありました。
それはDNSのNSレコードについて。
SSLの更新が失敗しているドメインでは、本来DNSのNSレコードをXserverさんのネームサーバーに向けなければいけないところ、別のネームサーバーに設定していました。
これについては、先のエラー画面中にリンクされていたネームサーバーの設定というページに以下のように記載されています。
エックスサーバーで独自ドメインを使用するためには、ドメインのネームサーバーをエックスサーバー指定のものに変更していただく必要があります。
(Xserver – ネームサーバーの設定より引用)
もしこれが原因なら、ネームサーバーの向きを正しくなおせばいい話ではあるんですが、そうはいかなかったんです。
と言うのもXserverのDNSサーバーでは、編集・追加・削除が可能なレコードは、Aレコード、CNAMEレコード、MXレコード、TXTレコードだけのため。(2016年12月現在)
そして更新エラーが発生していたドメインではSRVレコードなども必要であり、XserverのDNSサーバーを使うことはできなかったわけ。
そこでこれまでは、NSレコードでXServerさんのものではないネームサーバーを指定し、AレコードでXserverさんのレンタルサーバーを指定することで、webサーバーとしてのみ使っていました。
サポートに問い合わせたときはOKですよ!と言われたけれど…
以前この運用形態について実現可能かどうか、Xserverさんのサポート窓口に問い合わせたところ、DNSサーバーの方で正しく設定してもらえれば問題なく運用可能である。
という回答をいただきました。
そしてこれまでの間正常に運用できており、無料独自SSLの新規取得・適用もできていたわけです。
にも関わらず、どうしてSSLの更新ができないのか、やはりサポート外の運用であり、NSレコードをXserverさんのネームサーバーに向けなければ正常に動作できないのかも…。
う~ん、これ以上はこちらで調べても分からないかなぁと思い、再度Xserverさんのサポート窓口に問い合わせてみることに。
原因はアクセス制限!?
というわけで、Xserverさんのサポート窓口に問い合わせをした翌日にいただいた回答がこちら。
お問い合わせをいただきまして、ありがとうございます。
お知らせの事象につきまして、無料独自SSLを更新する際にコモンネーム「www.xxxxxxxx」についてはWEB認証が行われますが、URL「https://www.xxxxxxxx/」はアクセス制限が実施されているため、認証ができずにエラーとなっているようでございます。
お手数ではございますが、サーバーパネル内「アクセス制限設定」より制限を解除のうえ、改めて無料独自SSLの更新をお試しくださいますようお願いいたします。
(XServer – 問い合わせに対する返信メールより引用)
ふむふむ、なるほど。
どうやらXserverさんの無料独自SSLでは、更新時にWEB認証が行われる仕様みたい。
このとき、アクセス制限によってサーバーへのアクセスができず、その結果WEB認証に失敗していると。
これには、大きな心当たりがありますね…。
なぜならこのドメインはテスト用であり、テスト用のWordPressをサーバーにインストールして各種テストに使っているもの。
そのためクローラーや一般ユーザーからのアクセス・閲覧をブロックする目的で、ドメイン配下のすべてのディレクトリーに対して、BASIC認証をかけていたんです。
そこでさっそくこのBASIC認証を解除し、サーバーパネルの「SSL設定の一覧」から「更新」を手動で実行したところ、無事更新を完了することができました!
更新手続き(のWEB認証)がうまく完了できたので、一時的に解除していたBASIC認証を再度有効化。
そのまま数時間後に確認すると、SSLの有効期限が正常に延長されていることが確認できました。
以上の結果をまとめると。
Xserver(エックスサーバー)さんの無料独自SSLの更新が失敗するときは、一時的にアクセス制限を解除すればうまく更新できるかも!
先にご紹介したXserverさんのサポート窓口からの回答によると、無料独自SSLの更新時はドメイン直下のURLに対してWEB認証を行うようです。
したがって、たとえばwww.example.comというドメインの無料独自SSLを更新する場合、https://www.example.com/というURLに対して、外部から認証なしで正常にアクセスできるようにしておけばWEB認証が成功し、SSLの更新が正常に完了できるはず。
だからもしドメイン直下のURL(//www.example.com/など)にBASIC認証などのアクセス制限をかけている場合には、一時的にアクセス制限を解除すればうまく更新できるかもしれませんよー!