Iframeに埋め込まれたgithubページを正しく使用するにはどうすればよいですか?
FirebaseでWebサイトをホストし、https経由でカスタムドメインを使用しています。たとえば、https://www.example.com。
このウェブサイトは反応などを使用しますが、1つのルート(ランディングページの1つ)では、githubでホストされる静的なページを使用したいと思います。たとえば、https:// example .github.io/page。そのため、これを実現するために、ルート内にiframeを作成しましたhttps://www.example.com/page 。
問題は、次のエラーが表示されることです。
混合コンテンツ:「 https://www.example.com/page 」のページはHTTPS経由でロードされましたが、安全でないリソースを要求しました「 http://example.github.io/page / '。このリクエストはブロックされました。コンテンツはHTTPS経由で提供する必要があります。
奇妙なことは、iframeが正しく見えることです。
<iframe title="Page" src="https://example.github.io/page">unwanted text</iframe>
すでにhttpsを使用していますが、これは無視されているようです。私はすでにこのメタ<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
を使用して、</iframe>
でiframeを閉じ、iframe内に不要なテキストを追加しようとしました。
これを解決できますか?
HTMLコードとエラーメッセージを注意深く調べると、プロトコル部分以外にURLのわずかな違いに気付くでしょう。
https://example.github.io/page
-iframe
src
タグ内http://example.github.io/page/
-エラーメッセージその理由としては、URL https://example.github.io/page が「正規」にredirectを返すことです。 "末尾にスラッシュ(/page/
)が付いたバージョンですが、リダイレクトURLは完全なURLである必要があり、サーバーは何らかの理由でリダイレクトURLに実際のプロトコルを含めず、常にhttp://
を代わりに使用します。サーバー側での構成またはコーディングが原因である可能性があります(github issue #289 も参照)。
回避策として、正規化リダイレクトをトリガーしないURL、つまりhttps://example.github.io/page/
を使用します。