[IIS] 무료 TLS 인증서 발급 및 HTTPS 설치

2020. 4. 23. 20:18WEB

Let's Encrypt를 통해 무료로 HTTPS를 위한 TLS인증서를 발급받을 수 있습니다. 발급 자동화를 위해 ACME 프로토콜을 제공하고 있으며, 이 프로토콜을 사용하는 수많은 자동화 도구를 제공하므로 어떤 환경이든지 손쉽게 HTTPS를 설정 할 수 있습니다.

여기에서는 Windows Server 2012 환경에서 win-acme 자동화 도구를 사용하여 발급부터 재발급까지 자동화하는 과정을 소개합니다.

참고로 Let's Encrypt에서 인증서를 발급받으려면 도메인이 연결된 웹사이트가 필요합니다. 도메인이 없거나 IIS 웹서버에 대한 관리 권한이 없다면 작업을 진행 할 수 없습니다.

win-acme 요구사항

  • 공식적으로 Windows Server 2012 (IIS 8.0 이상)을 지원합니다. Windows 2008 (IIS 7.0)환경에서 테스트 되었지만 공식적으로 지원하는 것은 아닙니다.
  • Microsoft Visual C++ 2015 Redistributable Update 3 설치가 필요할 수 있습니다.
  • api-ms-win-crt-runtime-l1-1-0.dll 관련 문제가 발생하면 KB2999226를 설치해주세요.
  • hostfxr.dll 관련 문제가 발생하면 KB2533623를 설치해주세요.
  • 와일드카드 도메인(예: *.example.com)에 대한 인증서 바인딩은 IIS10 (Windows Server 2016 이상)에서 지원합니다.

작업 가이드

  1. win-acme 공식사이트를 방문하여 자동화 도구를 다운로드 합니다. (여기서는 2.1.6.1 버전을 사용)
  2. 저장할 공간에 압축을 푸세요. 권장하는 위치는 %PROGRAMFILES%\win-acme입니다. win-acme는 작업 스케줄러에 의해 주기적으로 실행되기 때문에 안전한 위치를 선택해주세요.
  3. wacs.exe를 관리자 권한으로 실행합니다.
    관리자 권한으로 실행
  4. 새 인증서를 발급받으려면 N을 입력합니다.
    A simple Windows ACMEv2 client (WACS)
    Software version 2.1.6.773 (RELEASE, PLUGGABLE)
    ACME server https://acme-v02.api.letsencrypt.org/
    IIS version 10.0
    Running with administrator credentials
    Scheduled task not configured yet
    Please report issues at https://github.com/win-acme/win-acme

    N: Create new certificate (simple for IIS)
    M: Create new certificate (full options)
    R: Run scheduled renewals (0 currently due)
    A: Manage renewals (0 total)
    O: More options...
    Q: Quit

    Please choose from the menu: N
  5. 인증서를 발급할 웹사이트를 선택합니다.
    Running in mode: Interactive, Simple

    Please select which website(s) should be scanned for host names. You may
    input one or more site identifiers (comma separated) to filter by those
    sites, or alternatively leave the input empty to scan *all* websites.

    1: Default Web Site (1 binding)
    2: testWebApp (1 binding)

    Site identifier(s) or <ENTER> to choose all: 2
  6. win-acme의 가이드를 따라 진행하시면 자동으로 인증서 생성 및 HTTPS 설치가 완료됩니다.
  7. 이제 사이트에 IIS에 인증서가 연결되어 있는지 확인해 보시면 됩니다. IIS를 열고 서버 홈에서 [인증서]를 클릭합니다.
    IIS 인증서
  8. 발급된 인증서가 연결되어 있는 것을 확인할 수 있습니다.
    발급된 인증서 내역
  9. 이제 웹사이트에 HTTPS 설정이 되어있는지 확인해봅시다. 웹사이트를 클릭하고 좌측의 [바인딩]을 클릭합니다.
    바인딩 클릭
  10. 443 포트로 SSL 인증서가 연결되어 있는 것을 확인할 수 있습니다. 이제 브라우저를 열고 HTTPS 주소로 테스트해보시면 정상적으로 접속되는 것을 확인할 수 있습니다.
    사이트 바인딩
  11. 작업 스케줄러를 확인해보시면 win-acme 작업이 등록되어 있는 것을 확인하실 수 있습니다. 이를 통해 자동으로 인증서 갱신이 진행되게 됩니다.
    작업스케줄러
  12. 인증서 파일은 %ProgramData%\win-acme에 위치하므로 참고바랍니다.

'WEB' 카테고리의 다른 글

[Web] Push Notification 구현  (5) 2020.04.27
[Blazor] ASP.NET Core Blazor 소개  (0) 2020.03.25
[FTP] Windows Server FTP 설정하기  (0) 2019.11.27
HSTS (HTTP Strict Transport Security)  (0) 2018.11.09
URL분해 및 Domain의 포함관계  (1) 2017.10.18