HSTSにハマってさあたいへん(勝手にSSLリダイレクト)

とあるサービスのドメイン引っ越し中、ERR_SSL_PROTOCOL_ERRORが出て困った話。

 

現象としては、http:// から始まるアドレスにアクセスしたいのに、https:// に勝手に飛ばされてしまうもので、ブラウザ側のセキュリティ設定が働いて脆弱性があるSSL 2.0やSSL 3.0の通信をブロックしているのが原因です。ブラウザには、ウェブサイトに対して最初の安全な接続が確立されると、そのSSL証明書をキャッシュに保存して、以降の接続を高速化しようとする仕組み(HSTS)が組み込まれているのです。

ドメイン引っ越しの途中だったので、サーバ側の設定を誤っている可能性が捨てきれず、サーバ周辺の設定を調べまくって時間を浪費してしまいました(おっかしいなあ…転送設定していないのに…)。

 

SSL状態を確認しようと試しに https:// でアクセスしてしまったために起きたエラーで、他のブラウザで試したら無事にアクセスできたことからブラウザ側の問題だとエラーの切り分けができ、ようやく解決しました。

 

わかってしまえば何ということもないのです。開発ツールでレスポンスヘッダを見たら 307 Internal Redirect で HSTS ですよと、ちゃんと書いてありました。

 

<対処法>

chrome では、アドレスバーに以下を入力

chrome://net-internals/#hsts

Delete domain security policies に問題を起こしているドメインを入力して、[Delete]をクリック

ドメイン周りでエラーが起きたら、まずはレスポンスヘッダを確認しなさいという自分への戒めと、このエラーで頭掻きむしっている方へ届きますようにと、記事に残します。

その他

Posted by くるっクマ