需要帮助将ASP.net切换到HTTPS

时间:2015-01-21 16:41:12

标签: javascript jquery asp.net ajax

我一直在努力,并希望得到一些帮助!我收到关于我的ASP.net CDN的混合SSL错误,我想知道是否有人知道如何解决它。任何帮助将不胜感激。

他们是:

  

www.billslasher.com/:1混合内容:'我的网站上的页面(billslasher.com / submit-bill'是通过HTTPS加载的,但请求了一个不安全的资源'http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js?ver=4.1'。此请求包含已被阻止;内容必须通过HTTPS提供。

     

www.billslasher.com/:1混合内容:“我的网站”页面是通过HTTPS加载的,但是请求了一个不安全的脚本“http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js?ver=4.1”。此请求已被阻止;内容必须通过HTTPS提供。

4 个答案:

答案 0 :(得分:4)

您可能在视图中包含了绝对路径。

EG。对于第一个在<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访问的页面的一个选项是协议相对URL:

<script type="text/javascript" src="//ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js?ver=4.1" ></script>

,包含页面的协议将用于获取资源。

对于动态生成的链接,您可以生成此类协议相关链接,也可以根据请求的协议添加协议。

需要考虑两个并发症:

  • 具有针对HTTP或HTTPS请求的不同URL(例如,不同域)的外部资源。这需要代码。
  • 当检测到请求是否为HTTPS时,请记住负载均衡器(或服务器前面的其他代理)可能会卸载TLS编码,因此即使客户端请求为HTTPS,与服务器的连接也是HTTP。检测到这取决于卸载机制。可能有一个请求标头(公共)或不同的端口号(我最近看到过:端口81上的HTTP实际上是一个HTTPS请求)。

答案 1 :(得分:0)

您需要从HTTPS CDN加载资源。这里的浏览器抱怨您的主站点是通过HTTPS加载的,但是您引用的资源是不具有的URL。或者也许不要使用CDN并在本地加载所有内容。

答案 2 :(得分:0)

使用协议相对URL方法。 更改网址只需使用两个正斜杠,这样您的cdn调用将是:

// ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js?ver=4.1

答案 3 :(得分:0)

我建议使用https://代理服务器发送所有请求。如果您正在使用需要Content Delivery Network资源的asp.net webforms控件,例如AJAX控件,请查看scriptmanager控件属性enablecdn,https://msdn.microsoft.com/en-us/library/system.web.ui.scriptmanager.enablecdn%28v=vs.110%29.aspx