OneWebDesk

혼합 콘텐츠 검사

HTTPS 페이지 안의 http(비보안) 리소스를 찾아 경고합니다.

혼합 콘텐츠(Mixed Content) 검사는 HTTPS로 제공되는 페이지가 내부에서 http://로 시작하는 이미지·스크립트·스타일시트 등 비보안 리소스를 불러오는지 점검하는 도구입니다. URL을 입력하면 서버가 해당 페이지의 HTML을 가져와 img·script·link·iframe·video·audio·source 태그에서 평문 HTTP 리소스를 모두 찾아 태그·주소·개수로 정리해 줍니다.

혼합 콘텐츠가 있으면 자물쇠 아이콘이 깨지고, 최신 브라우저는 스크립트·스타일 같은 능동 콘텐츠를 아예 차단해 레이아웃이나 기능이 망가질 수 있습니다. 배포 전·후로 이 도구를 돌려 평문 링크가 남아 있지 않은지 확인하세요. 결과가 0개면 정상, 하나라도 있으면 위험으로 표시됩니다.

혼합 콘텐츠가 위험한 이유

페이지 본문은 HTTPS로 암호화되어 전송되더라도, 그 안에서 불러오는 리소스가 평문 HTTP라면 그 부분은 가로채기·변조에 노출됩니다. 공격자가 중간에서 스크립트를 바꿔치기하면 페이지 전체가 위태로워지므로, 브라우저는 이를 보안 약점으로 취급합니다.

  • 능동 콘텐츠(script, iframe, link[stylesheet])는 대부분 브라우저가 즉시 차단합니다.
  • 수동 콘텐츠(img, video, audio)는 차단되거나 경고와 함께 표시됩니다.
  • 자물쇠 아이콘이 "안전하지 않음" 또는 부분 보안 상태로 바뀝니다.

고치는 방법

가장 간단한 해결책은 모든 리소스 주소를 https://로 바꾸거나, 프로토콜에 의존하지 않는 상대 경로(//example.com/...)나 루트 상대 경로(/assets/...)를 쓰는 것입니다. 외부 호스트가 HTTPS를 지원하지 않으면 자체 서버로 리소스를 옮기거나 HTTPS를 지원하는 대체 호스트를 사용하세요. 대량 일괄 변경 시에는 Content-Security-Policy: upgrade-insecure-requests 헤더로 임시 업그레이드를 적용할 수도 있습니다. CSP를 비롯한 보안 헤더가 실제 응답에 들어갔는지는 보안 헤더 점검으로 함께 확인하세요.

자주 묻는 질문

HTTP 페이지를 입력하면 어떻게 되나요?
혼합 콘텐츠는 HTTPS 페이지에서만 의미가 있습니다. 입력한 URL이 최종적으로 HTTP라면 'HTTPS 페이지가 아님'으로 안내하며 검사를 건너뜁니다. 먼저 사이트를 HTTPS로 전환하세요.
동적으로 추가되는 리소스도 잡히나요?
이 도구는 서버가 받은 초기 HTML만 분석합니다. 자바스크립트가 실행 중에 삽입하는 http:// 리소스는 정적 분석으로는 보이지 않을 수 있으니, 브라우저 개발자도구 콘솔의 혼합 콘텐츠 경고도 함께 확인하세요.
결과 개수가 실제 차단 수와 다를 수 있나요?
네. 브라우저는 능동/수동 콘텐츠를 다르게 취급하고, 일부는 자동으로 HTTPS로 업그레이드합니다. 이 도구는 HTML에 평문 http://로 적힌 리소스를 모두 나열하므로 잠재적 위험을 빠짐없이 보여 주는 것이 목적입니다.
입력한 주소가 외부로 저장되나요?
조회 결과는 부하를 줄이기 위해 60초간 임시 캐싱될 뿐, 영구 저장하거나 제3자에게 전송하지 않습니다. 서버는 안전 검증(SSRF 차단)을 거쳐 대상 페이지만 가져옵니다.
혼합 콘텐츠를 한 번에 막는 방법이 있나요?
응답에 Content-Security-Policy: upgrade-insecure-requests 헤더를 추가하면 브라우저가 페이지 안의 http:// 리소스 요청을 자동으로 https://로 승격해 줍니다. 다만 이는 임시 방편이며, 근본적으로는 소스의 리소스 주소를 https로 고치는 것이 정답입니다.

관련 도구

웹 보안