[google-chrome] Chrome에서 localhost를 https로 리디렉션

Chrome을 사용하여 Visual Studio 프로젝트를 디버깅하면 브라우저가 https와 동일한 웹 주소로 리디렉션하려고합니다. 웹 프로젝트에서 SSL을 사용하도록 설정하지 않았으며 시작 URL은 http URL입니다. FireFox 또는 IE를 사용하여 디버깅 할 때이 문제가 없습니다.

하루 동안 문제를 해결 한 Chrome을 다시 설치했습니다. 애드온을 다운로드하지 않고 다음 날 문제가 다시 발생했습니다.

Chrome에서 localhost를 https로 리디렉션하는 것은 무엇입니까?

네트워크 검사 결과 : 요청 URL : data : text / html, chromewebdata 요청 헤더 임시 헤더는 User-Agent : Mozilla / 5.0 (Windows NT 6.3; WOW64) AppleWebKit / 537.36 (Kcko, Gecko) Chrome / 36.0.1985.143 Safari /로 표시됩니다. 537.36

해당 탭에 미리보기 및 응답 데이터가 없습니다.



답변

나는 이것이 HSTS에 의한 것이라고 생각합니다-http: //en.wikipedia.org/wiki/HTTP_Strict_Transport_Security 참조

HSTS 헤더를 보내는 다른 로컬 호스트 사이트가 있다면 (개발)

예. 엄격한 운송 보안 : 최대 연령 = 31536000; includeSubDomains; 예압

… max-age 값에 따라 향후 localhost 요청은 HTTPS를 통해 제공되어야합니다.

이 문제를 해결하기 위해 다음을 수행했습니다.

  • Chrome 주소 표시 줄에 “chrome : // net-internals / # hsts”를 입력하십시오.
  • 페이지 맨 아래에는 QUERY domain 텍스트 상자가 있습니다. localhost가 브라우저에 알려져 있는지 확인하십시오. “찾을 수 없음”이라고 표시되면 원하는 답변이 아닙니다.
  • 있는 경우 위의 텍스트 상자를 사용하여 로컬 호스트 도메인을 삭제하십시오.
  • 귀하의 사이트는 이제 평범한 오래된 HTTP를 사용하여 작동합니다

이것은 영구적 인 솔루션은 아니지만 적어도 프로젝트간에 작동하게합니다. 누구나 HSTS 목록에서 로컬 호스트를 영구적으로 제외하는 방법을 알고 있다면 알려주십시오. 🙂

업데이트-2017 년 11 월

Chrome은 최근이 설정을 도메인 보안 정책 삭제 아래로 이동했습니다.

여기에 이미지 설명을 입력하십시오

업데이트
-2017 년 12 월 .dev 도메인을 사용하는 경우 아래의 다른 답변에서 Chrome (및 기타)이 사전로드 된 HSTS를 통해 HTTPS를 강제 실행하는 것으로 확인하십시오.


답변

Chrome에서 동일한 문제가 발생하여 BigJump의 솔루션 을 사용하지 못했습니다 .

블로그 (원래이 수퍼 유저 답변에서 )에 표시된 것처럼 강제 새로 고침을 수행하여 문제를 해결했습니다 .

검색 주소창이 http 체계를 사용하고 있는지 확인한 후 다음 두 단계를 수행하십시오.

  1. 개발자 도구 패널을 엽니 다 (CTRL + SHIFT + I).
  2. 새로 고침 아이콘을 클릭 한 상태로 유지 / 새로 고침 아이콘을 마우스 오른쪽 버튼으로 클릭
  3. 메뉴가 열립니다.
  4. 이 메뉴에서 세 번째 옵션을 선택하십시오 ( “빈 캐시 및 하드 다시로드”)

답변

새로운 개발! (Chrome 63 이상인 경우)

귀하의 로컬 호스트 도메인 인 경우 .dev이전에 받아 들여지고 작동하는 답변이 더 이상 적용되지 않는다고 생각합니다. Chrome 63부터 Chrome은 사전로드 된 HSTS를 통해 .dev 도메인을 HTTPS로 강제 실행하기 때문입니다.

이것이 의미하는 바는, .dev서명 된 SSL 인증서가 적절하지 않으면 기본적으로 더 이상 작동하지 않습니다. 더 이상 자체 서명 된 인증서는 허용되지 않습니다! 이 블로그 게시물에서 자세히 알아보십시오.

따라서이 문제를 지금 해결하고 향후 다시 발생하는 것을 피하기 위해서는 .testIETF가 테스트 / 개발 목적으로 예약하기 때문에 권장 도메인 중 하나입니다. .localhost로컬 개발자 에게도 사용할 수 있어야합니다 .


답변

Adiyat Mubarak에서 피기 백하기

https에서 새로 고치기 때문에 하드 새로 고칠 수 없습니다. 동일한 단계 중 일부를 따릅니다.

1. Open chrome developer tools (ctrl + shift + i)
2. Network Tab at the top
3. Click Disable cache checkbox at the top (right under network tab for me).
4. Refresh page (while the developer tools is still open)


답변

나는 같은 문제에 직면하고 있지만 Chrome Canary 에서만 이 게시물을 찾은 솔루션을 검색합니다 .

다음 버전의 Chrome 중 하나는 .dev (및 .foo)로 끝나는 모든 도메인이 사전로드 된 HSTS (HTTP Strict Transport Security) 헤더를 통해 HTTP로 리디렉션되도록합니다.

{ "name": "dev", "include_subdomains": true, "mode": "force-https" },
{ "name": "foo", "include_subdomains": true, "mode": "force-https" },

따라서 도메인을 변경하십시오.


답변

Chrome 63 (2017 년 12 월 이후)에서는 .dev (및 .foo)로 끝나는 모든 도메인이 사전로드 된 HSTS (HTTP Strict Transport Security) 헤더를 통해 HTTPS로 리디렉션됩니다. 이에 대한 자세한 정보는 여기에서 찾을 수 있습니다.


답변

에서 https://galaxyinternet.us/google-chrome-redirects-localhost-to-https-fix/

옵션 수정 중 어느 것도 나를 위해 효과가 https://localhost:3000없었습니다.

버튼을 클릭 한 상태 Reload에서을 선택하십시오 Empty Cache and Hard Reload.이 옵션은localhost