我一直在努力解决这个问题,希望得到一些帮助!我收到有关我的 ASP.net CDN 的混合 SSL 错误,我想知道是否有人知道如何修复它。任何帮助将不胜感激。
他们在这里:
www.billslasher.com/:1 Mixed Content: The page at 'my website (billslasher . com / submit-bill' was loaded over HTTPS, but requested an insecure resource 'http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js?ver=4.1'. This request has been blocked; the content must be served over HTTPS.
www.billslasher.com/:1 Mixed Content: The page at 'my website' was loaded over HTTPS, but requested an insecure script 'http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js?ver=4.1'. This request has been blocked; the content must be served over HTTPS.
最佳答案
您可能在 View 中包含了绝对路径。
例如。对于第一次在您的 <head>
中包含以下内容元素:
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js?ver=4.1" ></script>
显然将通过纯 HTTP 加载。
可以使用 HTTP 或 HTTPS 访问的页面的一个选项是协议(protocol)相对 URL:
<script type="text/javascript" src="//ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js?ver=4.1" ></script>
并且包含页面的协议(protocol)将用于获取资源。
对于动态生成的链接,您可以生成此类协议(protocol)相关链接或根据请求的协议(protocol)添加协议(protocol)。
有两个并发症需要考虑:
- 具有用于 HTTP 或 HTTPS 请求的不同 URL(例如,不同域)的外部资源。这需要代码。
- 检测请求是否为 HTTPS 时,请记住负载平衡器(或服务器前面的其他代理)可能会卸载 TLS 编码,因此即使客户端请求为 HTTPS,与服务器的连接也是 HTTP。检测这取决于卸载机制。可能有一个请求头(通用)或不同的端口号(我最近看到这个:81 端口上的 HTTP 实际上是一个 HTTPS 请求)。
关于javascript - 需要帮助将 ASP.net 切换到 HTTPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28072381/