Visual Studio 2019로 ASP.NET Core 서버 프로젝트를 만들 때 SSL로 디버깅을 할 수 있다.
단, IIS Express를 이용해야 하고, 처음 프로젝트를 만들고 디버깅 하면 자동으로 되긴 하는데
나중에 프로젝트를 추가하거나 SSL 포트를 바꾸고 나면 안되는 경우가 있다.
안되는 이유는... IIS Express에서 SSL 포트를 사용하겠다고 설정하는 순간
localhost의 특정 포트로 자가서명 인증서Self-signed certificate를 발급해서 SSL 바인딩을 하고 있는데
이게 안되어 있기 때문이다.
하는 방법은... 알고 나면 간단하다.
예를 들어 현재 프로젝트를 https://localhost:44444/ 포트로 실행하고 싶다면 아래 명령어를 실행하면 된다.
D:\work> cd /d "C:\Program Files (x86)\IIS Express" C:\Program Files (x86)\IIS Express> IisExpressAdminCmd.exe setupsslUrl -url:https://localhost:44444/ -UseSelfSigned |
끝. (더 상세한 정보는 아래 URL을 참조하기 바람.)
>> 참조: https://improveandrepeat.com/2020/05/recreate-the-self-signed-https-certificate-for-localhost-in-iis-express/
덧.
이래도 안되는 경우가 있다.
그럴 때는 솔루션 폴더에서 숨겨진 ".vs" 폴더를 찾아 들어가 본다.
그러면 솔루션 이름으로 된 폴더가 보이고 그 안에 하위 폴더가 몇 개 있는데 그 중에서 "config" 폴더를 찾아 들어가 본다.
그러면 딱 하나, "applicationhost.config" 파일이 보일 것이다.
메모장으로 열어서 위 포트 "44444"로 검색해보면 근처에 뭔가 중복된 설정이나, 이상한 설정이 있을 것이다. 반드시 있을 것이다. 그걸 찾아서 삭제하면 된다. 진짜로!
'Tech: > Server·IIS' 카테고리의 다른 글
Windows RRAS - IKEv2 컴퓨터 인증서 기반 VPN 구성 (1) | 2024.03.18 |
---|---|
AKS-LoadBalancer: IP주소 하나로 여러 TCP 포트 서비스하기 (0) | 2022.11.29 |
[docker] MariaDB 10.4 my.cnf 인식 오류 (0) | 2022.08.03 |
ARR: URL 재작성(rewrite) 팁 (0) | 2020.12.15 |
ASP.NET Core의 JsonSerializer(System.Text.Json) 사용 관련 (0) | 2020.08.14 |