在 macOS Monterey 12.0.1 上使用 SvelteKit 运行本地开发服务器。在 Safari 15.1 中打开开发站点时,我的图像出现错误:
从源 http://localhost:3000 加载 URL https://localhost:3000/images/icons/icons.svg 的尝试不安全。域、协议和端口必须匹配。[错误] 加载资源失败:发生 SSL 错误,无法与服务器建立安全连接。(https://localhost:3000/images/logos/logo.svg,第 0 行) [错误] 加载资源失败:发生 SSL 错误,无法与服务器建立安全连接。(https://localhost:3000/.svelte-kit/dev/runtime/internal/start.js,第 0 行) [错误] 加载资源失败:发生 SSL 错误,无法与服务器建立安全连接. (https://localhost:3000/images/home/home0.jpg,第 0 行)
- 我通过 http://localhost:3000 访问该站点 - 而不是 https://localhost。
- 没有基本元素,所有图像都使用相对的 href (
/images/icons/icons.svg
)。 - 我在 Safari 的控制台中检查了 window.location.protocol,它确认了“http:”(另外,window.location.origin = “http://localhost:3000”)。
- Chrome 或 FireFox(最新版本)不会出现问题。
谷歌搜索建议并找到删除 Safari 中本地存储的 cookie、本地存储和数据库的建议(我尝试过,尽管本地主机没有从列表中消失,现在显示为“数据库”)。
我还找到了一个相当 Safari 的建议,然后运行以下 shell 命令:
killall nsurlstoraged
rm -f ~/Library/Cookies/HSTS.plist
launchctl start /System/Library/LaunchAgents/com.apple.nsurlstoraged.plist
这些似乎都不适用于蒙特雷。
npm run dev --https --open
除了(有效但......)之外我需要做什么的任何想法?
这可能与我的蒙特雷升级有关。我没有注意到,因为我最近一直在 https 模式下工作。
对于 SvelteKit 的人,我以前rm -rf .svelte-kit
做过npm run dev --open