簡體   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