it-swarm.dev

HTTPS 페이지 내의 HTTPS iframe이 작동하지 않습니다

Iframe에 포함 된 github 페이지를 올바르게 사용하려면 어떻게해야합니까?

Firebase에서 웹 사이트를 호스팅했으며 https를 통해 커스텀 도메인을 사용하고 있습니다 (예 : https://www.example.com.

이 웹 사이트는 반응과 다른 것들을 사용하지만 한 경로 (방문 페이지 하나)의 경우 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을 닫고 i = 프레임 안에 원치 않는 텍스트를 추가하려고했습니다.

이 문제를 해결할 수 있습니까?

11
GarouDan

HTML 코드와 오류 메시지를주의 깊게 살펴보면 프로토콜 부분 외에 URL에 약간의 차이가 있음을 알 수 있습니다.

  • https://example.github.io/page-iframesrc 태그에서
  • http://example.github.io/page/-오류 메시지

그 이유는 URL https://example.github.io/page 리디렉션 을 "정식 "슬래시 (/page/), 리디렉션 URL은 전체 URL이어야하며, 어떤 이유로 서버가 리디렉션 프로토콜에 실제 프로토콜을 포함하지 않고 항상 http:// 대신에. 서버 측의 구성 또는 코딩 때문일 수 있습니다 (github issue # 289 참조).

임시 해결책으로 정식 리디렉션을 트리거하지 않는 URL (예 : https://example.github.io/page/.

26
rustyx