Safari在https模式下与webpack-dev-server刷新循环问题

8

我在 Safari Version 9.0.1 (11601.2.7.2) 上测试一个 JS 模块时遇到了一个奇怪的问题。

我使用标准 HMR 配置的 webpack-dev-server(但是使用 https: true),即使我没有更新源文件,浏览器仍然不断刷新。实际上它卡在了一个刷新循环中。

当我打开检查器控制台时,在重新加载之前我会短暂地看到这个错误:

WebSocket network error: OSStatus Error -9807: Invalid certificate chain

然后就在刷新之前。

[WDS] Disconnected!
[WDS] App updated. Reloading...

可能与自签名证书验证失败有关。 服务器正在运行 https://localhost:1111,我已在另一个选项卡中访问该页面以接受证书。

有人遇到过这种情况吗?

1个回答

12

inline: false 参数传递给webpack devServer配置,例如:

devServer: {
    hot: false,
    contentBase: './dist',
    https: true,
    port: 8000,
    inline: false,
},

或者,您可以确保SSL连接具有有效的证书。这样可以在不使用“inline:false”的情况下解决Safari中的错误。您可以使用ZeroSSL https://zerossl.com/或Let's Encrypt https://letsencrypt.org/来获取免费的有效证书。 - StudentsTea
避免使用 inline: false 的另一种方法是让您的 iPhone 信任您的服务器证书。请按照以下步骤操作:https://discussions.apple.com/thread/7738477(第一个答案对我有用) - Maxime Pacary

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接