我在使用 Chrome 启动 WebApp 时遇到了一些麻烦(并非总是如此)。
我的 webApp 是一个简单的 Javascript 应用程序,它使用 HTTPs 加载。提供 WebApp 资源的服务器正在使用 Chrome 不信任的自签名证书(对于 Firefox 也是如此...)。
当用户使用类似 https://mywebapp:8443/ui 的 URL 首次启动 WebApp(或清理 Chrome 缓存后)时用户收到一条消息,表明该网站不受信任 (ERR_CERT_AUTHORITY_INVALID),但用户可以继续(这是预期行为)。
接下来,有一个问题:Chrome 通过获取 index.html 和 .css 来开始加载我的 web 应用程序,但它无法获取包含我的 web 应用程序的 Javascript 代码的 .js。
在Chrome开发工具中,我可以看到获取.js文件的HTTPs请求的响应是“无法加载响应数据”。
我不明白为什么 Chrome 会出现这个错误(Firefox 从来不会出现这种情况)。 接下来,如果我在 Chrome 中重新加载页面,WebApp 就会成功加载并显示。
当我清理 Chrome 中的缓存时,可以重现此问题。如果我不清理缓存,即使 Chrome 重新启动后,Web 应用程序仍会继续工作。
是否是由于自签名证书所致?第一次启动时出现此问题的原因可能是什么?为什么只有 Chrome 才会出现这种情况?
感谢您的帮助,
最佳答案
我猜是因为使用了自签名证书,最新的Chrome浏览器不允许信任自签名证书,所以你自己的证书不被chrome信任! 您可以在浏览器地址空白处输入 chrome://net-internals/#hsts,然后删除 HSTS 列表中的“localhost”。
关于javascript - 无法在 HTTPs 上使用 Chrome 加载响应数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48109186/