도커 컨테이너를 사용한 Let's Encrypt ssl 인증서 발급

SSL 인증서를 사용하는 방법은 무료, 유료 두 가지가 있다.

인증서는 보안을 위한 것이므로 중요하고 최신 웹 기술에서는 필수적이다.

무료와 유료는 그다지 차이는 없지만 유료의 경우 보험처럼 생각할 수 있다. 또한 무료(Let's Encrypt)는 3개월 마다 갱신해야하는 번거로움이 있다. 

이러한 번거로움을 최소한도로 하기위해서는 인증 절차의 숙지가 필요하다.

또한 도커를 활용하면 매우 간단하게 인증서를 발급받을 수 있다.

이 글은 단순 기록용으로 핵심만 간단히 기록하고 차 후 시간이 날 때 살을 붙여 정리하도록 한다.

인증서 발급 절차 요약

1. 인증서를 사용하려는 사이트 도메인 필요.

2. 인증서 발급기관에서 사이트 도메인에 대한 소유권 확인(여러가지 방법이 있다. 도메인 TXT레코드에 발급과정에서 주어진 해시 입력, 또는 직접 사이트 내에 특정 페이지를 만들어  txt 파일을 만들어어 인증)

3. 소유권 확인 후 인증서 발급(핵심 파일 - fullchain.pem, private.pem, )

4. 사이트의 인프라(nginx, haproxy 등등)에 인증서 파일 적절히 적용.

 

사실 인증 절차는 매우 간단하지만 인프라 구성에 따라서 번거롭거나 까다로울 수 있다.

자세한 내용은 참고 사이트를 참고하였다.

- nginx에서는 발급한 fullchain.pem, private.pem을 설정파일에서 각각 지정한다.

- haproxy에서는 cat fullchain.pem private.pem > new.pem 으로 통합하여 haprocy.cfg 파일에서 지정하여 사용함.

    (예:  bind :::443 v4v6 ssl crt /etc/haproxy/certs) -  certs 디렉토리 아레 new.pem을 넣음

 

발급 절차를 간단히 정리하면 - 인증서 발급 사이트가 너네 사이트 맞냐? -> 맞다면 인증서 줄께 적절한 곳에 넣어서 클라이언트가 접속 할 때마다 인증서를 확인할 수 있게 해놔. -> 끝.

 

참고 사이트 

https://lynlab.co.kr/blog/72

이 댓글을 비밀 댓글로
    • uhmm
    • 2021.06.21 10:42
    유료 무료 차이 있습니다.
    기업 같은 경우 무료로 레츠 쓰는 경우 인증 안해주는 경우 있습니다
    특히나 결재시스템 쓰는곳은..
    • 네, 그렇군요.
      당연히 비지니스용은 유료를 사용해야겠죠. ^^