glog : cupucharm

HTTPS에서 HTTP 요청 블락 현상 본문

dev/solution

HTTPS에서 HTTP 요청 블락 현상

오이호박참외 2024. 5. 29. 18:00

HTTPS에서 HTTP 요청 블락

HTTPS 연결을 사용하는 웹사이트에서 HTTP(비암호화) 요청을 차단하는 것
보안이 더 낮은 사이트로의 접속을 막기 위한 목적
개발자 콘솔에 "This request has been blocked; the content must be served over HTTPS."
브라우저 단에서 이미 HTTP 요청을 차단하기 때문에, 웹 서버에서의 리다이렉트 설정 무의미

 

인쇄 이슈

작성한 문서를 출력하기 위해 문서 상세 보기 팝업 상단에서 제공하는 '인쇄' 버튼을 클릭할 경우

문서 미리 보기 팝업(문서의 전체 내용, 본문 등 선택 영역 미리 보기 팝업)과 함께 인쇄 미리 보기 창이 오픈된다.

인쇄 미리보기 창(이슈와 상관없는 이미지)

 

그런데 특정 문서에서 인쇄 버튼 클릭 시

인쇄 미리 보기 창도 뜨기 전에, 문서 미리 보기 팝업이 생성되었다가 바로 꺼지는 현상이 발생했다.

 

이 오류의 경우 서버 로그에도 에러에 관한 기록이 없고, 관리자 도구도 보기 어려웠다.

 

단서

1. 특정 문서에서만 발생하는 현상이다.
2. 클라우드 서버에서는 오류가 발생하지만, demo 서버에서는 발생하지 않는다.

 

해당 문서 html 탐색

<img border="0" src="http://~~~~~~~~~.jpg" />

 

이미지의 경로 문제인가 싶어서 확인해 보았으나 해당 경로에 이미지가 존재하고

src에 담긴 url로 접속하는 경우에도 이미지가 온전히 노출되는 것을 확인했다.

 

SSL 인증

오류가 발생하는 서버가 SSL 인증서를 적용한 서버라는 것을 인지하고 보니, 이미지의 경로는 http:// 로 시작하고 있었다. (SSL 적용은 쉽게 말해 http에서 https로 보안이 강화되었다고 생각하면 된다.)

 

https://에서 http://를 호출하고 있었다.

 

HTTPS에서 HTTP 요청 블락

현재 대부분의 브라우저의 보안 정책으로 HTTPS에서 HTTP 호출이 제한된다고 한다.

이미 보안이 적용되어 있는데, 보안이 더 낮은 사이트를 호출하거나 연결해 줄 수 없다는 의미이자 주된 목적이다.

 

찾아보니 해당 현상이 발생할 때 개발자 콘솔에

"This request has been blocked; the content must be served over HTTPS."

라는 에러가 발생한다고 한다. 나는 오류로 인해 팝업 자체가 닫혀버려 해당 오류를 확인하지 못했으나, 저 메시지를 조금 빨리 봤다면 어땠을까 하는 마음도 든다.

 

아무튼 이 현상은 request 요청 자체를 브라우저가 막아내는 것이라서 아무리 웹서버가 HTTP 요청을 HTTPS로 리다이렉트 하도록 설정되어 있어도 의미가 없다. 웹 서버에 요청이 오기 전에 브라우저 단에서 이미 잘라내는 것이기 때문에..

 

 

++ 단서2의 경우, 클라우드 서버는 https였고 demo 서버는 http였다. 오류 찾고 소름.