如何使用HTTPS连接从父服务器内的HTTP服务器加载内容

时间:2014-06-30 04:30:14

标签: html ssl

我需要在HTTPS连接中加载HTTP内容。当我这样做时,我没有得到内容,在浏览器中我得到以下错误:

The page at 'https://xxx.xxx.xxx.xxx/App/xyz.action' was loaded over HTTPS, but displayed insecure content from 'http://xxx.xxx.xxx.xxx/views/xyz/abc': this content should also be loaded over HTTPS.

这里,HTTP上的内容来自另一台服务器。因此,我也不能使用相对网址。

我需要加载HTTP内容的HTML代码如下所示:

<div class='c1' style='width: 1353px; height: 576px;'>
    <object class='c2' width='1353' height='576' style='display:none;'>
        <param name='host_url' value='http://xxx.xxx.xxx.xxx/views/xyz/abc' /> 
        <param name='site_root' value='' />
        <param name='name' value='mno;pqr' />
        <param name='tabs' value='no' /><param name='toolbar' value='yes' />
    </object> 
</div>

我尝试过寻找解决方案但找不到符合我要求的解决方案。

请帮帮我。

谢谢:)

3 个答案:

答案 0 :(得分:0)

不确定它是否解决了您的问题,但您尝试加载的对象上有style='display:none;'

答案 1 :(得分:0)

除非您拥有两个/所有服务器,否则您不能仅仅因为包含该链接的页面是通过HTTPS检索的,那么嵌套链接可通过HTTPS获得。服务器可能无法在HTTPS端口上提供服务。

因此,假设目标服务器不是你的,并且他们没有服务https,那么一些选项是:

  1. 手动下载插件,并在许可允许的情况下从您自己的服务器提供。
  2. 例如,使用Apache的代理模块,通过您自己的HTTPS服务器或支持它的其他服务器代理下载。这允许您遵守许可,同时仍然通过安全服务器引用对象,甚至可能将URL别名化为更简单的东西。 http://httpd.apache.org/docs/2.2/mod/mod_proxy.html

    反向代理

       ProxyPass /foo http://foo.remote.com/bar
       ProxyPassReverse /foo http://foo.remote.com/bar
    
  3. 在您的action / controller / servlet中创建一个包含代码的代理函数,并使用您自己的HTTPS调用替换直接引用远程服务器的调用。与https://myserver.com/remoteObjectHandler.aspx类似,您的代码需要通过HTTPS透明地连接,然后将请求内容从原始服务器流式传输到客户端连接。

答案 2 :(得分:0)

所以,答案很简单。只允许浏览器加载不安全的脚本。

相关问题