[Xserver] SSL設定の認証で「トークン設置URLにアクセスできませんでした」エラーが出てしまう
エラー発生までの大まかな状況
- SSL対応済みのWordPressサイトをCPIサーバーからエックスサーバーにドメイン&サーバー移管しようとした
- ドメイン移管は問題なく完了。DNSサーバーを切り替える前に「無料独自SSL設定」を実施
- 公式サイトの手順に従って「外部サーバーでのWeb認証」を実施
- アップロード指示されたトークンファイルは2つ。wwwなし版とwwwあり版
- 所定のアドレスにトークンファイルをアップロード後、認証を行ったところエラーが発生
エラーの内容(URLを除き原文ママ)
トークン設置URLにアクセスできませんでした。
以下のトークン設置URLにアクセスできませんでした。
http://xxx.com/.well-known/acme-challenge/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
トークンファイルが正しく設置されているかを確認してください。
正しく設置されているにも関わらずエラーとなる場合は、DNS認証をお試しください。
対処方法
- htaccessファイルを下記のように変更、アップロード
- 再度認証を行ったところ、無事手続きが完了した
変更前
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
変更後
RewriteEngine on
RewriteCond %{REQUEST_URI} !(^/\.well-known/acme-challenge/)
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
- httpからhttpsへのリダイレクトを行う処理に条件を追加
- トークンファイルのアップロード先である「/.well-known/acme-challenge/」のリクエストではリダイレクトしないようにした
現象の振り返り・わからなかったこと
- 移管したサイトはWordPressで作成しており、URL設定でwwwありのアドレスに統合をしていました
- 認証でコケていたトークンファイルはwwwなしのアドレスにアップロードするよう指定されていたファイルだったので、WordPress側で行っているwwwありアドレスへのリダイレクトが悪さをしているのではないかと予想しました
- しかし、WordPressをインストールした際に生成されるhtaccess内のリダイレクト処理に、アップロードフォルダを対象外にする条件文を追加しても結果は変わりませんでした
- どうにも煮詰まってしまい、ダメ元でhttpsへのリダイレクト処理の方に条件文を入れたところ、問題が解消された(されてしまった)という感じです
- 確かにhttpsリダイレクト処理の修正によって、wwwなしのアドレスを叩いたときの着地アドレスがwwwなしのアドレスのままになっていました。なぜhttpsへのリダイレクトを抑止した結果、wwwありへのリダイレクトの抑止もできているのかコレガワカラナイ
- 解決できたとはいえ、未だ喉に小骨がひっかかっている感じで気持ちが悪いです
ご質問など受け付けています
記事の中でわかりにくかったところ、もっと知りたかったこと、間違っていることなど、何でもお気軽にご連絡ください。
ご連絡は下記フォームを利用いただくか、ツイッターアカウント@flat8migi宛てでもOKです。