HTTPS가 웹서비스의 기본으로 자리잡은 지금, Let’s Encrypt를 통해 무료로 TLS 인증서를 발급받는 것은 더 이상 특별한 일이 아닙니다. 다만 여러 개의 서브도메인을 운영하고 있다면 각각 따로 인증서를 발급받는 방식보다, 하나의 인증서로 통합해서 관리하는 편이 훨씬 효율적입니다.
이 글에서는 certbot
을 기준으로, sangheon.com
, www.sangheon.com
, blog.sangheon.com
처럼 여러 서브도메인을 하나의 인증서로 발급 및 갱신하는 방법을 소개합니다.
1. 기존 인증서 확인
기존에 개별로 인증서를 발급받으셨다면 다음 명령어로 확인할 수 있습니다.
|
|
인증서 이름과 포함된 도메인 목록이 표시됩니다. 이미 발급된 인증서를 하나로 통합하려면, 기존 인증서 중 하나를 갱신 형식으로 덮어쓰는 방식을 사용하시는 것이 좋습니다.
2. 여러 도메인을 하나의 인증서로 통합 발급
certbot
은 -d
옵션을 여러 번 사용하면 하나의 인증서에 여러 도메인을 포함시킬 수 있습니다. 예를 들어 아래와 같이 실행합니다.
|
|
이 명령을 실행하면 기존의 sangheon.com
인증서가 www
, blog
도메인을 포함한 형태로 재발급됩니다.
3. nginx 설정 확인 및 통일
모든 서버 블록에서 공통된 인증서 경로를 사용하도록 설정을 정리해야 합니다.
|
|
기존에 blog.sangheon.com
등이 별도 경로를 사용하고 있었다면 위와 같이 통일해주시기 바랍니다.
4. 인증서 자동 갱신 확인
Let’s Encrypt 인증서는 기본적으로 90일 유효기간을 가지며, certbot은 자동 갱신을 지원합니다.
자동 갱신이 정상 동작하는지 다음 명령어로 테스트할 수 있습니다.
|
|
별다른 오류 없이 실행된다면 자동 갱신이 잘 작동 중입니다.
5. 기존 인증서 정리 (선택 사항)
만약 이전에 blog.sangheon.com
등 서브도메인 단독으로 발급한 인증서가 있다면, 다음 명령으로 정리할 수 있습니다.
|
|
인증서를 삭제해도 서비스에는 영향이 없으며, 설정에서 해당 경로를 사용하지 않도록만 주의해 주시면 됩니다.
정리하며
서브도메인이 여럿일 때 와일드카드 인증서도 가능하지만 DNS 인증 설정과 자동화가 어려운 환경에서는 SAN(Subject Alternative Name) 방식이 더 실용적일 수 있습니다.