[Server] 위키 팜(Wiki Farm) 구축 시 와일드카드 없이 다국어 SSL 관리하는 법 (Certbot Expand)

대규모 다국어 위키 사이트(Wiki Farm)를 운영하다 보면 ko.site.com, en.site.com 처럼 언어별 서브 도메인이 계속 늘어납니다. 이때마다 인증서를 새로 발급받으면 서버 설정이 매우 복잡해집니다.

오늘은 DNS API 지원이 없는 환경에서도, 물리적 폴더 분리 없이 명령어 한 줄로 모든 언어 도메인의 SSL을 통합 관리하는 ‘확장(Expand)’ 전략을 정리합니다.


1. 왜 와일드카드(*.site.com)를 안 쓰는가?

  • 와일드카드: 티스토리처럼 유저에게 도메인을 자동 분양하는 서비스에 적합합니다. 하지만 발급 시 DNS API 연동이 필요하여 호스팅 업체에 따라 설정이 불가능하거나 까다롭습니다.
  • SAN (Expand 방식): 내가 직접 언어를 추가하는 사이트라면 이 방식이 훨씬 효율적입니다. Nginx만 켜져 있다면 HTTP 인증 방식으로 즉시 발급 가능합니다.

2. 핵심 전략: “인증서 파일은 딱 하나만”

언어가 10개든 100개든, 서버에는 단 하나의 인증서 파일만 두고 그 안에 도메인 목록을 계속 채워 넣습니다.

1단계: 최초 발급 (한국어 + 영어)

물리적인 소스 코드 폴더가 하나여도 상관없습니다. certbot --nginx 플러그인이 가상 경로를 이용해 알아서 인증합니다.

sudo certbot --nginx -d ko.mysite.com -d en.mysite.com

2단계: Nginx 설정 (Wiki Farm 구조)

설정 파일(nginx.conf)에서 server_name 부분에 모든 도메인을 한 줄로 적고, 인증서 경로는 최초 발급된 폴더 하나만 바라보게 설정합니다.

3단계: 언어 추가 시 ‘쓱 끼워 넣기’ (Expand)

일본어(ja) 사이트를 오픈했다면, 기존 인증서에 일본어만 추가합니다. 이때 –expand 옵션을 사용합니다.

sudo certbot --nginx --expand -d ko.mysite.com -d en.mysite.com -d ja.mysite.com

주의: 확장할 때는 반드시 기존 도메인 리스트를 모두 포함해서 명령어를 입력해야 합니다.

3. 결론

이 방식을 사용하면 물리적 폴더를 나눌 필요도, 복잡한 DNS 설정을 건드릴 필요도 없습니다. certbot renew를 통해 모든 언어 도메인이 한 번에 자동 갱신되므로 관리가 매우 수월합니다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤