🔒

Safariでlocalhostにhttpでアクセスするとhttpsになってしまう

2024/03/09に公開

概要

  • localhostにhttpでアクセスしてもhttpsに変わってしまう場合の対処法

原因

HSTS

ブラウザにはhttpでアクセスしてもhttpsに強制的に書き換えるHSTSという仕組みがあります。
自分の場合は過去にlocalhostでhttpsを使って開発をしたことで、以降httpでアクセスしてもhttpsに勝手に変わってしまうようになりました。
https://developer.mozilla.org/ja/docs/Web/HTTP/Headers/Strict-Transport-Security

対処法

127.0.0.1(IPアドレス)でアクセスする

HSTSはドメインでのアクセスのみに適用されるため、 http://127.0.0.1 でアクセスすればhttpsに変換されることはありません。

  1. HSTS Hosts are identified only via domain names -- explicit IP
    address identification of all forms is excluded. This is for
    simplification and also is in recognition of various issues with
    using direct IP address identification in concert with PKI-based
    security.

https://www.rfc-editor.org/rfc/rfc6797#appendix-A

キャッシュを削除する

Safariの設定を開き、プライバシータブから「Webサイトデータを管理」ボタンを押すと、以下のようなポップアップが開くので、 localhost を選択し、削除します。

まとめ

localhostのHSTSて誰が嬉しいん

Discussion