HTTPがHTTPSになってしまって困った

Posted on

Chromeに、何度http://...と入れてもhttps://...で接続しにいくので、全然テストできないじゃんと調べた結果、HTTP Strict Transport Security (HSTS)ってのを踏んでいた。

経緯

httpでアクセスできるけど、httpsはアクセスできないコトをChromeで確認したかったので、アドレスバーにそれぞれURLを入れて動きを見ていた。で、http://...と入れているのにhttps://...になってしまい、いくらやってもテストできやしない。困った。

HSTSとは

HSTSとは、RFC6797にある「HTTP Strict Transport Security」のこと。

サーバーがレスポンスヘッダ内に Strict-Transport-Security を設定したときに発動する。httpでアクセスしていた場合は、httpsに切り替わり、以後の接続時もhttpsになる。なので、一度ハマるとhttpに戻れない。(例外として時間によるタイムアウトとかもある)

Chromeで対応するには

  1. chrome://net-internals/#hstsを開く。

  2. Delete domain security policies にHSTSを無効化したいドメインを入れて [Delete] を押す。