Safari在localhost上强制执行HTTPS

Cha*_*ish 21 safari https http hsts

当我http://localhost:3000在Safari中加载时,Safari会自动重定向到https://localhost:3000.如何禁用此功能?

我进入~/Library/Cookies/HSTS.plist并删除了该localhost条目,然后重新启动了Safari,但它只是将其重新添加到该plist文件并重定向到https.

任何想法如何解决这个问题,以便localhost我必须明确说出http或https?

Cha*_*ish 32

我能够根据Ask Different回答来解决这个问题.

简而言之,关闭Safari,然后运行下面的命令,就可以了.

sudo killall nsurlstoraged
rm -f ~/Library/Cookies/HSTS.plist
launchctl start /System/Library/LaunchAgents/com.apple.nsurlstoraged.plist
Run Code Online (Sandbox Code Playgroud)

运行后重新启动Safari并尝试http://localhost:3000解决问题并且没有重定向到https.

希望这有助于某人解决这个问题.

  • 这部分对我有用,我可以访问“http:localhost”,但它尝试使用 https 获取“.js”和“.css”文件。说“无法加载资源:发生 SSL 错误,无法与服务器建立安全连接。” 还有其他人有这个问题吗? (9认同)
  • rm -f〜/ Library / Cookies / HSTS.plist对我来说失败,并出现“不允许操作”错误。但是我可以在Finder中删除文件。 (4认同)
  • 在关闭浏览器之前复制命令... ;-) (3认同)
  • 也为我工作。 (2认同)
  • 能够执行第一行和第三行。`rm -f ~/Library/Cookies/HSTS.plist` 对我来说也失败了,即使是 `sudo` 也是如此。重新打开Safari时,https仍然是强制的,我无法在本地开发。我运行的是 Mac OS 10.15.6 和 safari 13.1.2。 (2认同)

Dav*_*les 16

在 Safari 13.0.5 中,删除网站数据localhostSafari > Preferences > Privacy > Manage Website Data...)解决了这个问题。

Safari > 偏好 > 隐私 管理网站数据...

  • 我已经在两台不同的 Mac 上尝试过此操作,一台 Catalina,一台 Mojave,但这对我来说都不起作用。@charlie-fish 的答案确实对我有用。 (3认同)

ein*_*bst 5

如果设置了内容安全策略“upgrade-insecure-requests”,也会发生这种情况。这里有一个未解决的问题:https ://github.com/github/secure_headers/issues/348