Let's encrypt IIS(win-acme) 사용시 별도의 포트로 인증통과하는 방법

직접 호스팅을 할떄 win acme로 let's encrypt 인증서를 만들어서 등록하는데 모종의 이유로 80포트가 아닌 다른포트를 사용하여 validation을 통과하는 방법입니다.

목차

win acme 화면
win acme 화면

문제

windows IIS를 사용하면서 무료 인증서인 let's encrypt 인증서를 적용하려면 win-acme 프로젝트를 이용하는게 가장 편한방법입니다.

일반적인 경우에 아무 문제없이 잘 작동하지만 어쩔수 없이 80포트가 막혀있거나 하면 인증서 검증이 계속 실패하게 됩니다. 1시간에 5번 실패하면 검증작업이 1시간동안 차단되기 때문에 이것저것 바꿔가면서 여러번 시도하기도 쉽지않습니다.

해결

문서를 찾기가 쉽지 않은데 https://www.win-acme.com/reference/plugins/validation/tls-alpn/selfhosting 에서 --validationport를 사용하여 별개의 포트에서 검증작업을 진행할 수 있다고 나오는데 실제로 적용하려면 커맨드라인을 직접 입력해야합니다.

다음과 같이 입력하면 한번에 그 사이트의 도메인이름들의 인증서를 만들수 있습니다.

wacs.exe --source iis --siteid <사이트ID> --validationport <사이트포트> --installation iis
win acme 화면
사이트ID
  • cmd를 관리자모드로 실행해야합니다.
  • 사이트ID: win-acme 를 실행해서 N: Create certificate 를 실행하면 IIS에서 인증서를 만들 수 있는 사이트의 목록이 보이는데 그 앞에 ID가 있습니다. 사이트 ID만 확인하고 win-acme는 닫고 커맨드라인에서 위의 명령을 실행합니다.
  • 사이트포트: 실제 사이트가 돌아가는 포트를 입력하면 됩니다. 예) 3000, 8080, ...
2024 © snc studio