NAS(시놀로지&헤놀로지)

[NAS] 시놀로지에서 와일드 카드 인증서 발급 및 자동 갠신

초보 & 뉴비 2025. 5. 31. 02:03

집에서 시놀로지 나스가 돌고 있고 몇 가지 서비스들을 운영중인데 와일드카드 인증서를 발급 받고 자동으로 갱신하는 방법을 작성한다.

 

사전 준비물

- 개인 도메인 ( 예시: test.com )

- DNS 프로바이더

-- 본인은 클라우드플레어를 사용 함

-- 사용 가능한 프로바이더 목록은 여기 참고


 

스크립트 설치

시놀로지에서 인증서(Lets's Encrypt) 를 자동으로 발급하고 갱신해주는 스크립트는 아래 레포를 이용한다.

https://github.com/JessThrysoee/synology-letsencrypt

 

GitHub - JessThrysoee/synology-letsencrypt

Contribute to JessThrysoee/synology-letsencrypt development by creating an account on GitHub.

github.com

curl -sSL https://raw.githubusercontent.com/JessThrysoee/synology-letsencrypt/master/install.sh | bash

 

 

 

 

클라우드플레어 토큰 발급

나는 DNS 프로바이더로 클라우드플레어를 사용하기 때문에 2개의 정보가 필요했다.

- CF_API_EMAIL: 클라우드플레어 계정 이메일

- CF_DNS_API_TOKEN: DNS 편집 권한이 있는 토큰

CF_DNS_API_TOKEN 대신에 CF_API_KEY를 사용해도 된다. 
다만 CF_API_KEY는 모든 권한을 가지고 있기 때문에 어지간하면 필요한 권한만 있는 토큰을 사용하는게 좋다.

 

https://dash.cloudflare.com/profile/api-tokens 이동 후 토큰 생성

 

영역 DNS 편집 템플릿 사용

 

영역 리소스에서 연동하고자 하는 도메인만 선택

 

토큰 생성 클릭

 

 

환경 설정 파일 작성

- 루트 권한으로 작성해야 한다 ( 어차피 스크립트 실행을 루트로 해야하기 때문 )

- DNS 프로바이더로 클라우드 플레어를 사용한다.

- 파일 경로 및 이름 /usr/local/etc/synology-letsencrypt/env

DOMAINS=(--domains "test.com" --domains "*.test.com")
EMAIL="test@gmail.com"

DNS_PROVIDER="cloudflare"
export CLOUDFLARE_EMAIL="test@gmail.com"
export CLOUDFLARE_DNS_API_TOKEN="token_goes_here"

 

와일드카드 인증서까지 발급 받기 위해 반드시 아스타리스크(*)가 포함 된 도메인도 명시를 해줘야 한다.

 

 

발급 및 자동 갱신

스크립트를 초기에 1회 실행하면 발급이 무난하게 완료된다.

/bin/bash /usr/local/bin/synology-letsencrypt.sh

 

자동 갱신은 작업 스케줄러를 이용하여 주기적으로 위 명령어를 실행해주면 된다.

 

제어판 - 작업 스케줄러 - 사용자 정의 스크립트

사용자: root

반복: 월간, 마지막, 일요일

실행 명령: /bin/bash /usr/local/bin/synology-letsencrypt.sh