如何从HTTPS加载HTTP

时间:2016-08-31 09:01:27

标签: javascript jquery http https

我在服务器中使用HTTPS,但我有第二台服务器,其中包含一些信息,我想从那里获取一些文件。我现在正在使用以下代码:

$.get("http://myserver.com/uno.html", function(data, status){
    if (dat == "ok") {
        alert("Myserver.com is online");
    }
}).fail(function(e) {
    alert("Myserver.com is offline");
});

使用该代码,Chrome正在抛出异常

  

" https://otherserver.com"是从https加载但请求不安全的XMLHttpRequest" http://myserver.com/uno.html"。请求已被阻止;内容必须是服务器而不是https。

现在的问题是如何加载任何HTTP请求以使Chrome认为请求是通过HTTPS提供的?请记住,唯一的HTTPS服务器是otherserver.com,我无法在" myserver.com"中实现HTTPS。 这个问题不再重复,因为所有服务器都是我的,我完全控制了#34;同源策略"

2 个答案:

答案 0 :(得分:2)

您可以向otherserver.com请求,然后从服务器端请求myserver.com并返回结果。例如(PHP中的示例,但它取决于您的后端):

//request.php
echo file_get_contents("http://myserver.com/uno.html");

然后在客户端:

$.get("https://otherserver.com/request.php", function(data, status){
    if (dat == "ok") {
        alert("Myserver.com is online");
    }
}).fail(function(e) {
    alert("Myserver.com is offline");
});

答案 1 :(得分:0)

Rory对你的问题的评论解释了为什么这不起作用。

作为一种变通方法,您可以设置一个非HTTPS代理,将请求传递给HTTPS服务,然后返回响应。

考虑到我们行业普遍推动在任何地方使用HTTPS。