Safariは、以前にhttps経由でアクセスしたサイトのhttpsバージョンへのリダイレクトを強制します。
ただし、httpsサイトは機能しなくなり、Safariフォームがロードしようとするのを防ぐ方法はありません。
これは、関連するAppleフォーラムの質問です。Safariはhttpをhttpsにリダイレクトし続けます
Safariは、以前にhttps経由でアクセスしたサイトのhttpsバージョンへのリダイレクトを強制します。
ただし、httpsサイトは機能しなくなり、Safariフォームがロードしようとするのを防ぐ方法はありません。
これは、関連するAppleフォーラムの質問です。Safariはhttpをhttpsにリダイレクトし続けます
回答:
サイトが以前にSafariに対してHSTS(HTTP Strict Transport Security)を介して常にHTTPS経由でアクセスすることを示している場合、Safariは常にHTTPSへのリダイレクトを試みます。
を削除すると、HSTSキャッシュをクリアでき~/Library/Cookies/HSTS.plist
ます。
Safariは301リダイレクトもしばらくキャッシュするため、通常のSafariキャッシュをクリアする必要がある場合があることに注意してください。開発メニュー([設定]→[詳細]で有効)から[キャッシュを空にする]を選択します。
2017年12月以降、GoogleはChromeのプリロードされたHSTSリストに「.dev」TLDを追加しました!
Safariは同じリストを使用します。Safariは常に* .devをHSTSリストに追加します...
多くの開発者が.devサフィックスを別のものに変更する必要があるようです:(
HSTSポリシーは、Safariの保存されたWebサイトデータに含まれるようになりました。この問題を解決するには、localhostデータを削除できます。
command + ,
アドレスバーのに変更https://localhost
しhttp://localhost
、リターンキーをクリックします。
localhost
でなく、すべてのドメインに適用されます。サブドメインにアクセスするには、親ドメインのデータを削除する必要があることに注意してください。つまり、にアクセスhttp://some.subdomain.somehost.com
してリダイレクトするhttps
場合はsomehost.com
、Manage Website Data
ページで検索して削除する必要があります。
クライアント側の証明書を使用してlocalhostにアクセスすると、Safariがこの狂った動作に入るようです。私の場合、私が作業しているプロジェクトの1つにこのクライアント側のセットアップが必要であり、localhostでhttpを使用できないプロジェクトの開発は完全に失敗します。私が見つけた唯一の回避策は/etc/hosts
、localhostのエイリアスを編集して追加することです
127.0.0.1 localhost
次に、http:// localhost:3000を使用して、Safariでhttps接続を強制せずにポート3000でプロジェクトにアクセスできます。