Chrome에서 localhost를 https로 리디렉션


362

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

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


Network Inspector가 보여주는 것은 무엇입니까?
c69

4
네트워크 검사는 전혀 표시되지 않습니다. 요청한 URL도 볼 수 없습니다. 요청 URL : data : text / html, chromewebdata 요청 헤더 임시 헤더가 표시됩니다. ) Chrome / 36.0.1985.143 Safari / 537.36
Brett Mathe 14

CHROME 63 : 답을 찾기 위해 계속 스크롤
northamerican

크롬을 다시 설치하면 모든 문제가 해결됩니다. 이제 내 .dev가 더 이상 https로 리디렉션되지 않습니다. 난 내가 .. 이전이 .. 너무 많은 시간을 낭비 것을 시도 텐데
타지 칸을

10
최근 에이 문제가있는 사람은 .dev로컬 도먼 으로 사용하려고 하면 완전히 새로운 문제이므로 더 이상 작동하지 않을 것이라고 생각합니다. Chrome 63 기준으로 ... "Chrome은 사전로드 된 HSTS를 통해 .dev 도메인을 HTTPS로 설정합니다." 따라서 더 이상 자체 서명 된 SSL 인증서가 없습니다. 분명히 .dev는 실제 도메인입니다. 누가 알았 겠어.
Trevor

답변:


591

나는 이것이 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를 강제 실행하는 것으로 확인하십시오.


6
너무 실망. 그러나 원인을 발견하게되어 기쁩니다.
Zapnologica

21
"localhost"를 쿼리하려고했지만 찾을 수 없습니다.
Chin

2
나는 이것이 오래된 게시물이라는 것을 알고 있지만 수락 된 답변에 따라 localhost를 쿼리 할 때 '찾을 수 없음'을 반환하는 경우 어떻게 해결할 수 있습니까? 모든 의견과 답변에서 모든 것을 시도했습니다.
DarkW1nter

28
이것은 Chrome의 총 쓰레기입니다. 그들은 당신이 괴물이 된 로컬 호스트에서 임의로 HTTPS를 시작했을 때 우리가 어떻게 로컬에서 개발할 것을 기대합니까? 나는 몇 달 동안 모든 것을 잘 사용했으며, 어느 날 아침에 로그인 하여이 쓰레기를 처리합니다. 이 "수정"중 어느 것도 나를 위해 일하지 않습니다.
앨리슨

50
로컬 호스트 도메인이 .dev 최신 버전 인 v.63 ... "Chrome에서 사전로드 된 HSTS를 통해 .dev 도메인을 강제로 HTTPS로 설정하기"때문에 @Alison이 작동하지 않는다고 생각합니다. 따라서 적절한 서명 된 SSL 인증서가 없으면 .dev는 기본적으로 더 이상 작동하지 않습니다. 더 이상 자체 서명 된 인증서가 허용되지 않습니다. 자세한 내용은 .
Trevor

308

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

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

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

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

3
새로 고침 / 다시로드 아이콘을 마우스 오른쪽 단추로 클릭하여 하드 다시로드 메뉴로
이동할 수도

3
이 솔루션을 작동시킬 수 없습니다. 문제는 그것이 localhost : 3000 (제 경우) 에 강제로 다시로드한다는 것 입니다. 다시로드하기 전에 프로토콜을 변경하려고 시도했지만 작동하지 않습니다.
john_omalley

1
감사합니다!!! 이렇게하면 startup.cs를 엉망으로 만들면 원래 localhost : port가 복원됩니다. var options = new RewriteOptions (). AddRedirectToHttpsPermanent (); app.UseRewriter (옵션); }
hubert17

하드 재로드를 위해 "CTRL + SHIFT + R"을 눌러 나를 위해 일했습니다.
LP. Gonçalves

크롬에서는 CTRL + SHIFT + I가 아닌 F12입니다.
챔프

190

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

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

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

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


2
모든 .dev 도메인을 .app로 변경했지만 여전히 동일한 문제입니다. 문제가 무엇인지에 대한 조언이 있습니까?
Jeff

5
.test
@Jeff

18
이것은 매우 성가신 일입니다. 확실히 우리가 개발 영역을 바꾸도록 강요하지 않는 방법이 있어야합니까?
에마누엘레 시리아 치

5
Chrome 63에서도 교체 .dev되었습니다..test
Lekhnath

12
이러한 반 직관적 인 기본값은 끔찍합니다. 개발자 환경 설정을 디버깅하거나 문제가 무엇인지 추측하는 데 시간을 허비 해야하는 이유는 모든 것이 자신의 편이며 Chrome이 기본적으로 .dev를 HTTPS로 리디렉션하는 Chrome이라는 것을 발견하기 위해서입니다. 논리는 어디에 있습니까? 왜 .dev이며 왜 다른 TLD가 아닌가? 절대 직관적이지 않습니다.
Meglio

50

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)

나는 해결책을 위해 두 번째로 여기 있습니다. 많은 감사합니다.
Čamo

1
나는 .local 도메인을 사용하고 있으며 위의 HSTS 솔루션이 작동하지 않을 때 작동했습니다.
DiegoSalazar

이것이 BigJump와 Adiyat Mubarak의 솔루션을 시도한 후에 나를 위해 일한 유일한 것입니다.
Alek Arsovski

캐시를 비활성화하는 것도 나에게 필요했습니다. Fiddler를 종료 한 후이 문제가 발생하기 시작했습니다.
CounterFlame

47

나는 같은 문제에 직면하고 있지만 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" },

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


2
이것이 내가 해결하기 위해 여기에 온 문제입니다. 남자는 지금 내 로컬 개발 사이트에 대한 다른 가짜 tld와 함께
올라와야

2
에서 위키 , .local나는 그것이 다른 TLD를보다 안전 추측이기는하지만, 좀 취성 소리. 또한 .localhost크롬 사용을 취소하고 있습니다. 크롬이 내 프록시가 작동하지 않는 것처럼 보이는 기본 리디렉션을 수행하는 것 같습니다. .test네임 스페이스로 인해 .test()
혼란 스럽지만

8
이것에 하루를 잃었다. 감사합니다
Tonio

17
젠장, Chrome 63으로 업데이트되었으며 이제 .dev에 영향을 미칩니다. WTF. 유효한 TLD인지 아닌지, SSL을 사용하거나 필요하지 않거나 사이트를 가지고 있지 않은 경우 신경 쓰지 마십시오.
dbinott

6
와우, 이건 날 화나게한다. 일부 개발 환경에서는 단순히 tld를 변경하는 것만 큼 간단하지 않습니다. 나는 지금 내가하고있는 일을 위해 이것을 바꾸기 위해 몇 시간 일하고 있습니다. 실제로 개발에 사용하고 싶은 것은 그들의 사업이 아닙니다.
Brett Thomas


13

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

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

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


이것은 내 끝에서 작동하지 않습니다. 다른 해결책이 있습니까?
Raju Paladiya

최신 Chrome이 업데이트되어이 솔루션은 더 이상 작동하지 않습니다.
user2167582

1
개발자 툴바가 열려 있으면 모든 도메인에서 작동합니다.
Hussam

7

나는 또한이 문제로 어려움을 겪고있다. HSTS는 도메인 이름만을위한 것 같습니다 . 따라서 로컬 컴퓨터에서 개발하는 경우 IP 주소를 사용하는 것이 훨씬 쉽습니다. 그래서 localhost에서 127.0.0.1로 전환했습니다.


괜찮지 만 localhost를 입력 할 때마다 localhost라는 단어가 127.0.0.1로 바뀔 수 있습니까?
Simon

너무 감사합니다
hedha

6

나는 문제의 근본을 알지 못했지만이 문제를 해결할 수있었습니다. 문제를 해결 한 Chrome 앱 캐시 폴더를 삭제했습니다.

C : \ 사용자 [사용자] \ AppData \ Local \ Google \ Chrome


1
모든 브라우저 기록 또는 비밀번호를 느슨하게 했습니까?
Zapnologica

7
문제는 Chrome이 HTTPS를 사용하여 도메인을 방문 할 때 저장하고 동일한 도메인을 다시 방문하면 자동으로 HTTPS로 전환된다는 것입니다. HTTPS를 사용하여 로컬 호스트 사이트에 액세스하면 갑자기 모든 locahost 사이트가 HTTPS로 리디렉션되기 때문에 개발자로서 엉덩이가 아파요.
Dale K

1
@DaleBurrell 당신은 옳지 않습니다. 이것은 HSTS에 의해 발생합니다. en.wikipedia.org/wiki/HTTP_Strict_Transport_Security
langpavel

6

캐시 된 https 리디렉션으로 인해 발생할 수 있으며 Adiyat Mubarak의 답변과 같이 캐시를 수동으로 지우면 해결할 수 있습니다.

그러나 localhost를 방문하는 경우 개발자 일 가능성이 높습니다.이 경우 "클래식 캐시 킬러"(예 : https://chrome.google.com/webstore/search/classic%20cache) 와 같은 캐시 지우기 크롬 확장 프로그램을 찾을 수 있습니다. % 20killer? hl = ko ) 다양한 상황에서 유용하며 이미 설치되어있을 수 있습니다.

빠른 해결 방법은 다음과 같습니다. 캐시 킬러 (아직없는 경우)를 설치하고 켜고 페이지를 다시로드하십시오. 끝난!


이것은 문제를 해결
makdu

6

나 같은 게으른 사람들을위한 게으른 빠른 솔루션 (Chrome 67에서 작동).

'시크릿 창'옵션 (CTRL + SHIFT + N)을 사용하여 Stealth Mode 에서 다른 Chrome 창을 시작 하면됩니다. 캐시를 삭제할 필요가 없으며 Chrome 설정을 자세히 살펴볼 필요가 없습니다.


1
다른 제안에 문제가 있었을 수 있습니다. 아마도 같은 도메인에서 다른 서버에서 여러 웹 페이지를 열어야했기 때문에 가능합니다.이 웹 서버 중 일부는 https, 다른 일반 http를 사용합니다. "시크릿 창"외에는 아무것도 작동하지 않습니다!
Klaws

이것은 작동하지만 임시 헤더로 인해 AJAX 요청이 매우 느려집니다.
나뭇 가지

5

이 중 어느 것도 나를 위해 일하지 않았습니다. 로컬 URL로 크롬 업데이트 (버전 63.0.3239.84, 리눅스) 후에 시작되었습니다. 상관없이 항상 https로 리디렉션합니다. 이것에 대해 몇 시간이나 많은 인내심을 잃어 버렸습니다.

결국 효과가 있었던 것은 도메인을 변경하는 것이 었습니다.

가치있는 것은 도메인이 .app였습니다. 아마도 할 일이 있습니까? 그리고 .test로 변경하고 크롬이 리디렉션을 중지했습니다.


5

크롬 79 로이 문제를 해결하는 방법 :

이 URL을 검색 입력에 붙여 넣으십시오. .chrome : // flags / # allow-insecure-localhost

실험적인 기능을 사용하여 도움이되었습니다.


3

불행히도, 여기에 나열된 해결책 중 어느 것도이 문제를 해결하는 데 도움이되지 않았습니다. http : // localhost 대신 http://127.0.0.1 (ip 주소) 을 사용하여이 문제를 해결했습니다 . 크롬 브라우저를 사용하여 각도 개발과 함께 작동하는 작은 해킹.


1

필자의 경우 프로젝트 경로를 설정하고 거기 /Users/me/dev/project_root/에서 nodeJS/ express서버를 실행 중이었습니다 . 내 경로 이름 바꾸기 /Users/me/project_root(제거)dev 프로젝트의 경로에서)이 문제를 해결.

이 새로운 규정과 관련이있을 가능성이 높습니다.

Chrome 63 (2017 년 12 월 이후)에서는 .dev (및 .foo)로 끝나는 모든 도메인이 사전로드 된 HSTS (HTTP Strict Transport Security) 헤더를 통해 HTTPS로 리디렉션됩니다.

이에 대한 자세한 정보는 여기를 참조하십시오 .

사용 :

  • Chrome 버전 70.0.3538.110 (공식 빌드) (64 비트)
  • nodeJS v9.2.0

1

이에 대한 간단한 해결책은 /etc/hosts파일 을 편집 하고 프로젝트 당 하나의 별칭을 설정하는 것입니다.

127.0.0.1   project1 project2 project3

@bigjump에서 언급 한 HSTS 응답을 보내지 않고 프로젝트 사이에서 앞뒤로 변경하는 경우 로그인 세션을 유지하는 추가 이점이없는 한 이러한 도메인없는 이름은 HSTS에 문제가 없습니다.


0

Chrome의 설정으로 이동 한 다음 고급 설정으로 이동하여 개인 정보 보호 및 보안 섹션에서 인터넷 사용 정보 삭제를 클릭 한 다음 모든 데이터를 삭제합니다. 나는이 단계를 수행했고 그것은 나를 위해 일했다. 그것이 도움이되기를 바랍니다.


0

Chrome 63은 사전로드 된 HSTS를 통해 .dev 도메인을 HTTPS로 자동 설정합니다.
빠른 수정 : .dev 도메인을 .localhost로 변경하십시오.


0

이것은 해결책이 아니며 해결 방법 일뿐입니다.

  1. 솔루션 탐색기에서 Visual Studio 프로젝트 (최상위)를 클릭하고 속성 창으로 이동하십시오.

  2. SSL 사용을 true로 변경하십시오. 속성 창에 다른 포트 번호가 'SSL URL'로 표시됩니다.

  3. 이제 응용 프로그램을 실행하거나 브라우저에서 볼 때 주소 표시 줄에서 포트 번호를 SSL 포트 번호로 수동으로 변경해야합니다.

이제는 SSL 링크로 잘 작동합니다.


0

열기 Chrome Developer Tools-> 이동 Network-> 선택 Disable Cache-> 새로 고침


-1

같은 문제가있는 사람은 CTRL + SHIFT + DELETE를 눌러 전체 브라우저 캐시 만 삭제하여 해결했습니다. 이제 HTTP 프로토콜로 로컬 호스트 웹 사이트에 액세스 할 수 있습니다.


-2

@ Adiyat Mubarak 답변이 저에게 효과적이지 않았습니다. 캐시를 지우고 다시로드하려고 할 때 페이지가 여전히 https로 리디렉션되었습니다.

내 해결책 : url 막대의 오른쪽 상단 (즐겨 찾기 별표 아이콘의 왼쪽)에는 "x"가있는 아이콘이 있습니다. 마우스 오른쪽 버튼을 클릭하면 "안전하지 않은 스크립트"에 대한 내용이 표시되고로드 할 수있는 옵션이 있습니다. 그렇게.


이 옵션의 이름이 무엇인지 또는 다른 곳을 찾을 수 있습니까? URL 표시 줄에 바로 가기가 표시되지 않습니다.
Carolyn Conway

@CarolynConway 나는 그것이 무엇인지 잘 모르겠습니다. 내 특정 문제에만 나타날 수 있습니다.
cph2117

-2

또 다른 옵션은 https://github.com/rchampourlier/tunnelss 와 같은 것을 사용하는 것입니다

물론 다른 의존성 / 설정을 추가했지만 dev에서 https를 테스트 할 수도 있습니다.

그러나 RVM을 사용 sudo gem install tunnelss하여 터널을 작동시켜야합니다.sudo tunnelss


-4

이것이 오늘날 가장 빠른 솔루션입니다 (17-3-2018).

모든 Chrome 탭 / 창을 닫고 명령 줄에서 다음을 실행하십시오 (또는 단축 코드로 추가하십시오)

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --ignore-certificate-errors
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.