繁体   English   中英

如何通过HTTPS连接从父服务器内部的HTTP服务器加载内容

[英]How to load the content from HTTP server inside the parent with HTTPS connection

我需要在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>

我尝试研究解决方案,但找不到符合我要求的解决方案。

请帮我。

谢谢 :)

不确定是否可以解决您的问题,但是您有一个style='display:none;' 在您要加载的对象上。

除非同时拥有两个/所有服务器,否则不能仅因为包含链接的页面是通过HTTPS检索的,就不能假定嵌套链接可以通过HTTPS获得。 服务器可能不在HTTPS端口上服务。

因此,假设目标服务器不是您的服务器,并且它们不提供https,那么一些选项是:

  1. 如果许可允许,请手动下载该插件并从您自己的服务器提供该插件。
  2. 例如,使用Apache的代理模块通过您自己的HTTPS服务器或支持该服务器的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透明连接,然后将请求内容从原始服务器流式传输到您的客户端连接。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM