![](/img/trans.png)
[英]Prevent mixed content error when embedding HTTP frame inside an HTTPS parent
[英]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,那么一些選項是:
例如,使用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
在您的action / controller / servlet中,使用代碼創建代理功能,並使用對自己的HTTPS調用替換直接引用遠程服務器的調用。 像https://myserver.com/remoteObjectHandler.aspx一樣,您的代碼將需要通過HTTPS透明連接,然后將請求內容從原始服務器流式傳輸到您的客戶端連接。
因此,答案很簡單。 只允許您的瀏覽器加載不安全的腳本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.