IIS Express에서 HTTPS를 설정 한 후 this and this 같은 기사에 따르면 HTTPS를 사용하여 실제로 IIS Express 사이트를로드 할 수 없습니다. Chrome 에서는 다음과 같은 기능 만 제공됩니다.
이 웹 페이지를 사용할 수 없습니다 (오류 코드 “ERR_CONNECTION_RESET”)
… IE 에서는 다음과 같은 결과 만 얻습니다.
Internet Explorer가 웹 페이지를 표시 할 수 없습니다
… 그 기사의 지시를 따를 때.
IIS Express가 자동으로 설치하는 “IIS Express Development Certificate”가 제거되었다는 사실과 관련이있는 것 같습니다. 이 인증서를 다시 설치하려면 어떻게합니까?
답변
프로그램 추가 / 제거로 이동하고 IIS Express에서 “복구”옵션을 선택한 후 인증서가 다시 설치되었으며 이제 HTTPS를 사용하여 IIS Express 사이트를 시작할 수 있습니다.
인증서가 돌아 왔습니다 :
이제 HTTPS를 사용하여 IIS Express 사이트를 시작할 수 있습니다.
답변
Visual Studio 2015, IIS Express 10, Windows 10의 경우 이러한 옵션이 작동하지 않았습니다. IIS Express 10에는 복구 옵션이 없었습니다.
IisExpressAdminCmd.exe
에서 사용할 수 있는 명령을 사용하여 문제를 해결 했습니다 C:\Program Files (x86)\IIS Express
.
관리자 권한 명령 프롬프트에서 다음을 실행하십시오.
cd C:\Program Files (x86)\IIS Express
IisExpressAdminCmd.exe setupsslUrl -url:urlToYourSite -UseSelfSigned
urlToYourSite를 귀하의 URL로 교체하십시오.
예 :
cd C:\Program Files (x86)\IIS Express
IisExpressAdminCmd.exe setupsslUrl -url:https://localhost:44387/ -UseSelfSigned
그 후 IIS Express를 닫고 Visual Studio에서 사이트를 다시 시작하면 자체 서명 인증서를 자동으로 신뢰하라는 메시지가 표시됩니다.
희망이 도움이됩니다.
답변
때때로이 오류는 localhost에 설치된 다른 인증서로 인해 발생 합니다. 이 경우 IIS Express 인증서를 복원 할 필요가 없습니다. 대신 다음을 수행하여 IIS Express에 기존 인증서를 사용하도록 지시 할 수 있습니다.
- 여기에 설명 된대로 인증서 MMC 스냅인을 엽니 다.
- 개인 … 인증서에서 로컬 호스트 인증서를 찾아 지문을 얻으십시오.
- 로컬 호스트 인증서의 속성 대화 상자를 불러 와서 지문 속성을 찾습니다
- 지문 값을 메모장 (또는 기타)에 붙여넣고 처음에 공백과 특수 문자를 제거하십시오.
- IIS Express 프로젝트의 포트 값을 찾으십시오.
- Visual Studio에서 프로젝트 속성으로 이동하여 ” https : // localhost : 44300 / MyApp ” 와 같은 “SSL URL”값을 찾으십시오 .
- 이 예에서 44300은 포트 번호입니다. 당신과 다른 경우, 나중에 명령에서 해당 값을 변경하십시오.
- Powershell이 아닌 관리 명령 프롬프트에서 다음 명령을 사용하십시오.
netsh http delete sslcert ipport=0.0.0.0:44300
netsh http add sslcert ipport=0.0.0.0:44300 certhash=your_cert_hash_with_no_spaces appid=
{123a1111-2222-3333-4444-bbbbcccdddee}
위 명령의 Guid는 생성 한 Guid로 바꿀 수 있습니다. 기존 IIS Express 값과 일치하지 않습니다.
자세한 내용 은 IIS Express에서 URL 바인딩 실패 처리를 참조하십시오 .
답변
또한 IIS Express에서 SSL을 사용하려면 사용되는 포트는 44300-44399 범위 ( http://www.iis.net/learn/extensions/using-iis-express/running-iis-express-)에 있어야합니다 . 비 관리 권한이없는 경우 ).
따라서 Visual Studio에서 IIS Express를 사용하는 경우 선택한 포트가 필요한 범위에 있는지 확인하십시오.
vs iis express 설정
답변
새로운 Chrome 58을 사용하면 아래 답변 중 아무것도 도움이되지 않습니다. 방금 인증서를 제거 / 재설치하고 문제가있는 곳을 찾으려고 1 시간을 보냈습니다.
“missing_subjectAltName”때문에 Chrome 58에서 인증서를 거부합니다.
해결책은 “badidea”암호 구이거나 로그인을 위해 팝업을 열어야하는 경우 다음을 사용해야합니다.
chrome : // flags / # allow-insecure-localhost
소스는 upvote가 https://stackoverflow.com/a/38926117/2089232에 속해 있습니다. 🙂
답변
어리석은 일이지만 누군가를 도울 수 있기 때문에 이것을 추가하고 싶었습니다. 이전에 프로젝트 속성을 열지 않았으므로 어떻게 이런 일이 일어 났는지 알 수 없지만 (내가 변경하지 않았거나 기회가 있음) 프로젝트> 속성> 웹에서 SSL URL이 일반적인 URL로 표시되었습니다. 그러나 https 대신 http로 사용되었습니다 (이전에 작동했기 때문에 이전에는 https였습니다). 이 페이지에 나열된 모든 단계를 수행하고 VS를 제거한 다음 IIS를 제거한 다음 마지막으로 https : // mySSLURL (https에서 s가 없음) 오류를 발견했습니다 . http를 https로 변경하면 모든 것이 다시 작동했습니다.