我正在尝试使用我们的应用程序(HTTPS)对远程定位的Web服务(HTTP)进行ajax调用。 但我得到了以下错误。
Mixed Content: The page at 'https://test.tes.com/url' was loaded over HTTPS, but requested an insecure script 'http://129.211.25.5:8063/'. This request has been blocked; the content must be served over HTTPS
我正在使用Chrome浏览器。
我试图寻找解决方案,但我写的大部分地方都认为不安全的内容不允许使用chrome。在Internet Explorer中它会提示,如果我们允许混合内容,那么我就可以调用HTTP webservice。
还发现解决方案是将HTTP替换为HTTPS调用。但我的服务器未配置为HTTPS(未启用SSL),因此我无法进行更改。
我的问题是 是否可以从HTTP环境进行HTTP调用? Atlest我们可以绕过一些HTTP调用,以便可以避免上述错误吗?(过滤器或可以提供帮助的东西) 或者是否必须迁移到HTTPS环境?
答案 0 :(得分:1)
你有两个解决方案:
说服网络服务允许https(不,https->重定向不是解决方案)
对您的服务器进行https调用,然后配置您的服务器以在后端发出http请求:
用户< -https->你的服务器< -http->网络服务
答案 1 :(得分:-3)
这是您的问题(如果您使用的是htaccess文件):
RewriteCond %{SERVER_PORT} ^443$
RewriteRule (.*) http://www.example.com/$1
您不允许SSL请求(443端口号用于HTTPS请求)。尝试删除这些行。
可替换地,
如果可能,请使用该外部网页/网络服务器的https
版本。