解決まで時間がかかったので自分への戒めとして残しておく
#[事象]
- httpでアクセスしたいのにhttpsでのアクセスにリダイレクトする
-
ERR_SSL_PROTOCOL_ERROR
とブラウザに言われる
これはSSLに対応していないサーバにhttpsでアクセスしたため
#[ポイント]
サーバにSSLの設定はしていない
アプリケーションでもリダイレクトの設定はしていない
でもhttpsになる。。。
#[原因]
レスポンスヘッダで以下を返却していることで
そのドメインではブラウザがhttpsでアクセスするように求めていると理解する
Strict-Transport-Security:max-age=315360000; includeSubDomains
includeSubDomains
があることで、サブドメインまで対象となる。
#[解決方法]
ブラウザにセットされたHSTSのリストから、該当するドメインを削除する。
注)サブドメインだけを削除することはできなかった
Chrome
- アドレスバーに
chrome://net-internals/#hsts
を入力 -
Delete domain
に削除したいドメインを入力してDelete
ボタン押下
Firefox
- 履歴リストを表示する
方法は2つ
履歴メニューからすべての履歴を表示
を選択
画面でMac(cmd+Shift+H)、Win(Ctrl+Shift+H)を入力 - 削除したいドメインをみつけたら、右クリックして
このサイトの履歴を消去
ALL(自身では未検証)
- 削除したいドメインのWWWサーバにレスポンスヘッダで以下を返すように設定
Strict-Transport-Security:max-age=0; includeSubDomains
- 1のWWWサーバへブラウザでアクセス
[参考]
http のリクエストが勝手に https にリダイレクトされるときは Strict-Transport-Security を疑おう
Re-Hashed: How to clear HSTS settings in Chrome and Firefox
MDN web docs(HTTP Strict Transport Security)