使用Chrome启动我的WebApp时遇到了一些麻烦(并非总是如此)。
我的webApp是一个简单的Javascript App,使用HTTPs加载。提供WebApp资源的服务器正在使用Chrome不受信任的自签名证书(与Firefox ...相同)。
当用户首次使用https:// mywebapp:8443 / ui之类的URL启动WebApp(或在清理Chrome的缓存之后)时,该用户会收到一条消息,表明该网站不受信任(ERR_CERT_AUTHORITY_INVALID),但该用户可以继续(这是预期的行为)。
接下来是问题:Chrome首先通过获取index.html和.css来加载我的webApp,但无法获取包含我的webApp的Javascript代码的.js。
在Chrome开发工具中,我可以看到获取.js文件的HTTPs请求的响应为“无法加载响应数据”。
我不明白为什么Chrome会出现此错误(Firefox永远不会发生)。接下来,如果我在Chrome中重新加载页面,则WebApp已成功加载并显示。
在清理Chrome中的缓存时,我可以重现此问题。如果我不清理缓存,即使Chrome重新启动后,WebApp仍可继续工作。
可以归因于自签名证书吗?第一次启动时出现此问题的原因可能是什么?为什么只有Chrome会发生这种情况?
谢谢你的帮助,
我错了,这个问题也出现在Firefox中。
我发现了根本原因,这是由于后端在Web浏览器中运行的WebApp和位于Kong后面的tomcat服务器之间使用了Kong集群。
重要的是,我也在DC / OS环境中工作,并且在WebApp和Kong之间有一个马拉松LB!
好的,问题是marathon-LB正在将来自WebBrowser的请求分派到集群中的Kong之一。每个Kong都有自己的自签名证书,因此,Web浏览器从使用不同证书签名的同一IP @处获得响应(因为每个请求都由另一个Kong管理)。
当我仅用一个实例配置Kong群集时,一切都运行良好,因为响应的总是相同的Kong,并且所有请求都使用相同的证书签名。
解决方案是用证书配置marathon-LB,然后仅将其转发到WebBrowser而不是Kong证书。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句