Safari forces a redirect to the https version of a site I previously visited via https.

However, the https site no longer works and there is no way to prevent Safari form trying to load it.

HTTP redirects to HTTPS

Here is a related Apple Forums question, Safari keeps redirecting http to https


6 Answers 6


HSTS Policy is now included in Safari's stored website data, and you can remove domain.com data to clear this issue.

  1. command + ,
  2. Privacy -> Manage Website Data...
  3. Search domain.com
  4. Click Remove

Change https://domain.com to http://domain.com in your address bar and click return key.

Note: if you are having a problem with subdomain.domain.com you still must delete the parent domain.com data.

  • 6
    This applies not only to localhost, but to any domains. Note, that in order to access subdomain, you have to remove parent domain's data. I.e. if you want to access http://some.subdomain.somehost.com and get redirected to https, you have to search for somehost.com at the Manage Website Data page and remove it.
    – voiger
    Commented Oct 30, 2019 at 15:50
  • This answer worked for me. Thank you! Commented Jul 31, 2023 at 16:03
  • did not work (macos 14.4, safari 17)
    – Jos
    Commented May 21 at 9:04

If the site has previously indicated to Safari that it wishes to always be accessed over HTTPS through HSTS (HTTP Strict Transport Security), then Safari will always try to redirect to HTTPS.

You can clear the HSTS cache by deleting ~/Library/Cookies/HSTS.plist.

Note that Safari does also cache 301 redirects for a while and thus clearing the normal Safari cache may also be necessary: from the Develop menu (enable in Preferences → Advanced), choose Empty Caches.

#For 2020...

In current MacOS, you must

  1. Clear the cache in Safari. (Developer menu.) Then immediately:
  2. Quit Safari, and any other apps that may use networking (quit all apps)
  3. Open /Users/ your user name /Library/Cookies which will look like:

enter image description here

  1. Throw HSTS.plist in the trash, then immediately restart the whole Mac.

In extreme cases, turn off all bandwidth to the Mac before steps 1-2-3-4.

In current MacOS, the HSTS list is immediately rebuilt if the file is thrown away, if any networking happens. Hence the Mac needs an immediate restart for trashing to work.

  • One more thing. For me to get out of https for particular domain, I had to disable Limit IP Address Tracking under System Preferences > Network. I also disabled Hide IP address under Privacy tab of Safari settings.
    – zigomir
    Commented Jun 14, 2022 at 17:04

Since December 2017, Google has added ".dev" TLD to the preloaded HSTS list for Chrome!

Safari uses the same list. So Safari will always add *.dev to HSTS list...

Seems many developers will need to change .dev suffix to another one :(

See: Chrome to force .dev domains to HTTPS via preloaded HSTS


I haven't found any working solution but for a workaround use instead of localhost


It seems Safari enters into this mad behaviour when you have accessed localhost using a client side certificate. In my case, one of the projects I work with needs this client side setup and it totally wrecks development for the projects where I can't use http on localhost. The only workaround I have found is to edit /etc/hosts and add an alias for localhost, like so localhost

Then use I can use http://localhost:3000 to access my project on port 3000 without Safari forcing a https connection.


I also encountered this 'Safari HSTS Cache' problem.

I tried the solution rm ~/Library/Cookies/HSTS.plist, but it does not work.

But the following steps are useful:

  1. Quit Safari
  2. rm -f ~/Library/Cookies/HSTS.plist, remove HSTS cache file
  3. killall nsurlstoraged, to stop HTTP storage manager (because it has an in-memory cache of the HSTS hosts)

The most important is, service nsurlstoraged has a in-memory HSTS cache, must reload this service.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .