페이지 주소와 하위 자원의 다른 연결
보안 연결 페이지에 오래된 외부 자원이 섞였는지 찾으려면 페이지 자체의 주소와 실제로 요청한 이미지·스크립트 등의 프로토콜을 구별하고, 보안 패널과 네트워크 정보에서 차단된 자원을 조사해야 합니다. 주소 표시줄에 HTTPS가 있다는 사실만으로 모든 하위 자원이 보안 연결로 제공된다고 판단하지 않습니다. 실제 요청의 출처와 오류를 찾아 수정할 대상을 정하는 점검입니다.
web.dev는 처음의 HTML을 HTTPS로 불러오지만 이미지나 영상, 스타일시트, 스크립트 등 다른 자원을 보안되지 않은 HTTP로 불러오는 경우를 혼합 콘텐츠로 설명합니다. 같은 페이지에서 HTTP와 HTTPS 콘텐츠가 섞이는 상황입니다. 병원 페이지 자체의 연결과 그 페이지가 추가로 요청하는 연결을 각각 판단할 수 있습니다.
문서에 적힌 외부 주소와 실제 요청은 함께 대조할 대상입니다. 오래된 이미지 주소가 남은 원고에서 어떤 요청이 발생하고 그 결과가 어떻게 표시되는지 조사할 수 있습니다. 외부 자원이 존재한다는 사실만으로 혼합 콘텐츠가 있다고 가정하지 않으며 HTTP로 요청되는 실제 자원을 특정할 범위입니다.
이 글은 공식 Chrome DevTools와 web.dev 안내를 참고한 점검 방법입니다. 병원 사이트에서 실제 보안 경고가 발견됐거나 공격이 일어났다는 보고가 아닙니다. HTTPS 전환이나 자원 수정의 결과를 검색 순위나 예약 성과로 확정하지 않고 개별 요청의 제공 상태와 페이지의 작동을 판단합니다.
| 점검 대상 | 구별할 정보 | 다음에 조사할 범위 |
|---|---|---|
| 페이지 자체 | 요청 프로토콜·인증서 문제 | 기본 출처의 연결 |
| 이미지·영상 등 | 실제 자원 요청과 결과 | HTTP 경로의 제공 상태 |
| 스크립트·스타일 등 | 안전하지 않은 출처와 차단 | 페이지 동작에 필요한 자원 |
기본 출처와 혼합 자원 문제의 구별
Chrome의 개인 정보 보호 및 보안 패널에서 보안 섹션은 HTTP 경고와 출처의 세부정보, 인증서를 포함한 내용을 제공한다고 설명합니다. 같은 패널의 개인 정보 보호 섹션과 구별해 HTTPS 보호를 조사할 영역입니다. 서드 파티 쿠키의 표가 표시됐다는 사실을 혼합 콘텐츠의 검사 결과로 취급하지 않습니다.
공식 안내는 기본 출처가 안전하지 않은 문제와 손상된 HTTPS, 혼합 콘텐츠를 구별합니다. 페이지를 HTTP로 요청한 경우에는 보안 개요에서 안전하지 않다는 상태가 나타날 수 있습니다. HTTPS 문제의 예에는 인증서가 만료돼 유효하지 않은 경우가 제시됩니다. 이런 페이지 자체의 문제와 하위 자원의 프로토콜 문제는 수정 대상이 다를 수 있습니다.
기본 출처가 HTTP인 상황에서 서버에 HTTPS가 이미 설정돼 있다면 HTTP 요청을 HTTPS로 리디렉션하도록 서버를 구성하는 방법을 안내합니다. HTTPS가 아직 제공되지 않는 상태라면 먼저 서버의 보안 연결 제공 조건을 다룰 대상입니다. 페이지가 HTTPS로 요청됐는지 조사하지 않고 개별 이미지 주소만 바꾸는 것으로 기본 출처 문제가 해결됐다고 표시하지 않습니다.
패널을 찾으려면 DevTools의 명령어 메뉴에서 privacy를 입력하고 개인 정보 보호 및 보안 표시를 선택하는 방법이 안내됩니다. 명령어 메뉴의 단축키는 macOS에서 Command·Shift·P, Windows나 Linux 등에서는 Control·Shift·P입니다. 도구 더보기에서 개인 정보 보호 및 보안을 선택하는 경로도 있습니다. 이 경로는 보안 상태를 조사할 도구를 여는 방법이며 메뉴가 열렸다는 사실만으로 해당 페이지의 검사가 끝난 것은 아닙니다.
안전하지 않은 출처에서 요청으로 이동
Chrome 공식 문서는 보안의 안전하지 않은 출처 섹션에서 Network 패널에서 요청 보기를 선택하도록 안내합니다. 이 동작은 네트워크 패널로 이동하고 관련 필터를 적용해 안전하지 않은 자원만 로그에 표시하는 경로입니다. 보안 개요의 증상에서 실제 요청 주소를 찾는 조사로 이어질 수 있습니다.
Chrome이 혼합 콘텐츠를 감지하면 DevTools의 문제 탭에 자세한 메시지를 기록한다고 web.dev는 설명합니다. 각 안전하지 않은 자원이 제한 상태와 함께 나열됩니다. 문제 메시지의 자원과 네트워크에서 관찰한 요청을 대조해 어떤 이미지나 스크립트 경로가 해당하는지 특정할 수 있습니다.
자원이 차단됐다는 결과와 HTTP 주소가 남았다는 설정은 구별할 정보입니다. 화면에서 이미지가 보이지 않을 때에는 실제 요청이 혼합 콘텐츠로 제한됐는지와 다른 개별 자원 오류인지 조사할 대상입니다. 주소가 오래됐다는 이유만으로 모든 파일 오류를 보안 문제로 표시하지 않습니다.
페이지가 여러 외부 출처를 사용한다면 어느 출처의 어떤 자원이 해당하는지 읽습니다. 전체 페이지 주소만 전달하면 수정할 이미지나 삽입 코드의 위치를 특정하기 어려울 수 있습니다. 담당자가 실제로 관찰한 요청과 그 제한 상태를 제작사가 다룰 자원에 연결하는 점검 범위입니다.
자원 유형에 따른 영향의 차이
web.dev는 이미지·영상·오디오처럼 나머지 페이지와 상호작용하지 않는 자원을 수동 혼합 콘텐츠로 설명합니다. 스크립트나 스타일시트, iframe 등 페이지 전체와 상호작용하는 코드는 활성 혼합 콘텐츠의 예입니다. 두 종류는 페이지에서 수행할 역할과 가로채거나 변경됐을 때의 영향이 다릅니다.
보안되지 않은 HTTP 요청은 네트워크에서 통신을 보거나 수정하는 공격에 취약할 수 있다고 안내합니다. 활성 콘텐츠를 가로채 다시 작성하면 페이지의 여러 동작에 영향을 미칠 수 있습니다. 이는 이런 요청의 위험에 관한 공식 설명이며 병원의 실제 페이지가 변조됐다고 판단한 결과는 아닙니다.
혼합 콘텐츠 경고가 나타날 때 이미 보안되지 않은 요청이 실행된 경우가 있을 수 있다는 설명도 있습니다. 경고 메시지를 본 뒤에만 자원의 제공 방식을 고려하는 것으로 모든 상황의 위험이 사전에 차단됐다고 판단하지 않습니다. 실제로 사용 중인 요청의 프로토콜을 조사해 안전한 제공 방식으로 수정할 이유입니다.
공식 자료는 대부분의 브라우저가 보안상 이유로 혼합 콘텐츠를 차단하므로 페이지가 올바르게 불러와지도록 보안되지 않은 요청을 보안 요청으로 바꾸라고 안내합니다. 다만 공급업체와 버전에 따라 동작이 달라질 수 있습니다. 특정 브라우저에서 자원이 보인다는 관찰과 여러 환경에서 안전하게 제공된다는 결론을 같은 것으로 표시하지 않습니다.
| 구별한 문제 | 수정 판단의 대상 | 다시 읽을 상태 |
|---|---|---|
| 기본 페이지의 HTTP 요청 | 페이지의 HTTPS 제공과 이동 | 실제 요청한 기본 출처 |
| 인증서가 유효하지 않은 HTTPS | 인증서와 연결의 문제 | 보안 개요의 해당 상태 |
| HTTP 하위 자원이 섞인 페이지 | 이미지·코드의 공급 경로 | 각 요청과 차단·표시 결과 |
실제로 제공할 수 있는 보안 자원 경로
문제 자원을 찾으면 해당 업체나 서버가 HTTPS로 같은 자원을 제공할 수 있는지 판단한 뒤 요청 경로를 수정할 수 있습니다. HTTP 문자를 바꿨다는 사실만으로 새 주소에 필요한 파일이 존재하고 정상적으로 제공된다고 표시하지 않습니다. 변경할 주소와 그 주소가 제공하는 내용이 원래 안내에 필요한 자원인지 함께 대조할 범위입니다.
이미지와 코드의 수정은 각각 실제 역할을 유지해야 합니다. 새로운 보안 경로에서 다른 그림이나 다른 기능을 제공하면 원래 병원 안내의 내용이 달라질 수 있습니다. 요청이 차단되지 않는 상태와 독자에게 필요한 그림·기능이 제공되는 상태를 나눠 판단합니다. 이 부분은 공식 자료의 안전한 요청 전환을 병원 운영에 적용한 점검 제안입니다.
수정 뒤에는 해당 원고에서 실제 발생하는 요청을 다시 조사해 프로토콜과 제한 상태를 대조합니다. 본문에 직접 넣은 이미지 주소뿐 아니라 삽입된 외부 기능이 사용하는 경로도 수정 대상일 수 있습니다. 제작사가 관리하는 공급 설정과 담당자가 수정하는 원고의 주소를 구별해 필요한 변경 범위를 정할 수 있습니다.
자주 묻는 질문
HTTP 이미지가 Chrome에서 HTTPS로 바뀌어 요청될 수 있나요?
web.dev는 일부 수동 혼합 콘텐츠를 Chrome이 자동 업그레이드할 수 있다고 설명합니다. HTTP로 적혀 있어도 HTTPS에서 제공되면 보안 버전을 불러오며 보안 버전이 없으면 자원이 불러와지지 않습니다. 원래 입력 주소와 실제 요청 결과를 구별할 조건입니다.
이전 브라우저에서 보이면 수정하지 않아도 되나요?
공식 자료는 이전 브라우저와 버전이 혼합 콘텐츠를 전혀 차단하지 않을 수 있다고 설명합니다. 표시된다는 사실이 안전한 제공을 뜻하지 않을 수 있으므로 여러 환경의 이용자를 위해 모든 자원을 안전하게 제공하는 목적을 유지해야 합니다.
Firefox나 Safari에서는 어디에서 메시지를 읽나요?
web.dev는 Chromium 기반 브라우저의 문제 탭에 차단 내용이 자세히 설명되며 Firefox와 Safari에서는 콘솔에 메시지를 기록한다고 안내합니다. 다른 브라우저에서 Chrome과 같은 패널 이름만 찾기보다 실제로 제공되는 문제 정보를 읽는 방법입니다.
이미지를 변경하지 않는 공격도 영향을 줄 수 있나요?
원문은 공격자가 콘텐츠를 바꾸지 않아도 혼합 콘텐츠의 요청으로 이용자를 추적할 수 있다고 설명합니다. 불러오는 이미지나 다른 자원으로 방문한 페이지를 알 수 있다는 조건입니다. 실제 추적이 발생했다는 병원 관측 결과와는 구별합니다.
출처마다 연결과 인증서 세부정보를 볼 수 있나요?
Chrome 안내는 보안 섹션의 항목을 선택해 출처의 연결·인증서 정보를 볼 수 있으며 가능한 경우 인증서 투명성 정보도 표시한다고 설명합니다. 기본 출처의 인증서는 보안 개요에서 인증서 보기로 검사할 수 있습니다. 자원별 출처와 기본 출처를 나눠 읽을 방법입니다.