DEV WIKI
프론트엔드 · 문제 해결 가이드

HTTP 개발 주소에서 브라우저 기능이 실행되지 않아요

HTTP 개발 주소에서 Service Worker·위치·카메라 같은 브라우저 기능이 실행되지 않을 때 보안 컨텍스트 오류와 Mixed Content 차단을 구분하는 가이드입니다.

빠른 답변

브라우저 기능이 HTTP 개발 주소에서만 실패하면 Console의 오류 원문, 현재 Origin과 window.isSecureContext를 확인합니다. Only secure origins are allowed가 표시되거나 isSecureContext가 false이면 보안 컨텍스트 문서를, HTTPS 페이지가 HTTP 리소스를 차단하면 Mixed Content 문서를 선택합니다.

적용 범위
이 가이드의 시작 증상과 각 분기 조건이 일치하는 경우문맥: 바이브 코딩
출처 확인일
2026-08-29
최종 검토
2026-08-29
수정일
2026-08-29
대상
사이트 운영자, 웹 에이전시, 프리랜서
오류·수정 제보 (새 창에서 열림)

이 가이드가 맞는 경우

  • 애플리케이션 오류 메시지

상황별 다음 단계

호스팅사·개발자에게 전달할 내용

변경 전 기록

  • 문제가 발생한 Origin, 프로토콜, 브라우저 기능과 Console 오류 원문을 전달합니다.
  • window.isSecureContext 결과와 HTTP·HTTPS 환경에서 각각 재현한 결과를 전달합니다.
  • Console·Network 기록에서 Cookie, Token, 개인정보와 비공개 URL 매개변수를 제거합니다.

알아둘 점

로컬에서는 실행되던 Service Worker, 위치, 알림, 카메라·마이크 기능이 다른 HTTP 개발 주소에서 막힐 때 사용합니다. 브라우저 예외 설정부터 바꾸지 말고 현재 문서가 보안 컨텍스트인지, HTTPS 페이지가 HTTP 리소스를 요청했는지 먼저 구분합니다.

먼저 기록할 값

브라우저 개발자 도구의 Console에서 오류 원문과 실패한 API 이름을 기록합니다. 같은 화면에서 아래 값도 확인합니다.

({  origin: location.origin,  protocol: location.protocol,  isSecureContext: window.isSecureContext,});

개발 주소와 운영 주소에서 각각 실행해 결과를 나눠 둡니다. Console과 Network 기록을 공유할 때는 Cookie, Token, 개인정보와 비공개 URL 매개변수를 제거합니다.

보안 컨텍스트 오류인지 확인합니다

다음 조건이면 Only secure origins are allowed 문서를 확인합니다.

  • Console에 Only secure origins are allowed 또는 보안 컨텍스트가 필요하다는 오류가 표시됩니다.
  • 일반 HTTP 호스트에서 window.isSecureContextfalse입니다.
  • 실패한 기능이 Service Worker, 위치, 알림, 카메라·마이크처럼 보안 컨텍스트를 요구합니다.

운영 주소는 HTTPS에서 다시 확인해야 합니다. chrome://flags/#unsafely-treat-insecure-origin-as-secure는 특정 개발 Origin을 임시로 시험하는 설정이며, HTTP 연결에 인증이나 암호화를 추가하지 않습니다. 방문자에게 이 설정을 바꾸도록 안내하거나 운영 해결책으로 사용하지 않습니다.

Mixed Content와 구분합니다

페이지 자체는 HTTPS인데 스크립트·스타일·iframe·API 요청의 주소가 HTTP라면 보안 컨텍스트 오류와 다른 문제일 수 있습니다. Console 또는 Network에 Mixed Content와 차단된 리소스 URL이 표시되면 Mixed Content 리소스 차단을 확인합니다.

관찰값다음 문서
HTTP 문서에서 Only secure origins are allowed, isSecureContext: false보안 컨텍스트 오류
HTTPS 문서가 HTTP 리소스를 요청하고 Mixed Content 표시Mixed Content 리소스 차단
isSecureContext: true이고 Mixed Content도 없음실패한 API의 권한·입력·구현 오류를 별도로 확인

수정 후 다시 확인합니다

  1. 같은 Origin에서 window.isSecureContext를 다시 확인합니다.
  2. Console에 같은 오류 원문이 남아 있는지 확인합니다.
  3. Network에서 실패한 요청의 프로토콜과 차단 이유를 확인합니다.
  4. 임시 Chrome 예외를 사용했다면 제거한 뒤 HTTPS 운영 주소에서 기능을 다시 실행합니다.

보안 검사를 끄거나 인증서 오류를 무시한 결과는 정상 동작으로 기록하지 않습니다. 보안 컨텍스트 판정을 통과한 뒤에도 기능이 실패하면 해당 API의 권한과 구현 오류를 따로 확인합니다.

참고 자료

Deprecating Powerful Features on Insecure Origins (새 창에서 열림)

Chromium · 공식 자료 · 확인 범위: 보안 컨텍스트가 필요한 브라우저 기능의 범위, 개발 중 특정 Origin을 시험하는 Chrome 설정 · 확인일: 2026-08-29

Secure contexts (새 창에서 열림)

MDN Web Docs · 공식 자료 · 확인 범위: 보안 컨텍스트 판정, window.isSecureContext 확인, 잠재적으로 신뢰할 수 있는 로컬 Origin · 확인일: 2026-08-29

혼합 콘텐츠 - 웹 보안 | MDN (새 창에서 열림)

MDN Web Docs (Mozilla) · 공식 자료 · 확인 범위: HTTPS 페이지의 HTTP 리소스 요청과 브라우저 차단, Console과 Network의 차단 URL 확인 · 확인일: 2026-08-29