2017-07-31 65 views
0

我已經使用AWS apigateway和Lambda函數後端建立了一個簡單的網站。AWS apigateway和iframe標籤

apgateway設置爲返回'text/html'Content-Type,它一直工作得很好。

我最近的發展是在網站上添加一些「iframe」標籤來嵌入來自另一個(非亞馬遜)域的內容。

現在,當頁面在瀏覽器中呈現時,iframe引用的內容不會顯示。然而,當我在本地保存html並在瀏覽器中打開它時,iframe內容會顯示爲它應該 - 這證明了html代碼很好。

AWS是否有某種安全措施阻止來自其他域的嵌入內容?如果是這樣,我需要改變以允許這個?

+1

I幀被加載到瀏覽器。您的瀏覽器加載HTML,看到iframe標籤,然後與iframe指向的服務器進行交互。 AWS不會阻止任何內容。我的猜測是您嘗試加載iframe內容的服務器阻止它,類似於:https://stackoverflow.com/questions/38068019/load-another-domain-website-in-a-iframe您需要打開您的瀏覽器的開發人員工具控制檯,並獲取實際的錯誤或警告消息,以便找出確切的問題。 –

+0

是的。它看起來像是它阻止嵌入式內容的瀏覽器中的跨源安全性。 感謝您的意見 –

+0

我試圖通過在apgestway的響應中設置下列標題來解決這個問題: 訪問控制允許標題:'Origin,X-Requested-With,Content-Type,Accept '\t 訪問控制允許來源:'*'\t 訪問控制允許方法:'GET,PUT,POST,DELETE,OPTIONS' 我可以看到在響應時正確設置了標題我在開發模式下運行Firefox,但仍未顯示iframe。 任何想法如何解決這個問題(在服務器端)? –

回答

0

我發現問題是嵌入式鏈接使用的是http,但由apigateway提供的頁面使用的是https。

Mozilla文檔將其稱爲「混合內容」。幸運的是,我從中嵌入的網站也通過https提供了相同的網站,因此我剛剛修改了網址以使用此網址。

感謝您的幫助