본문 바로가기

취미, 관심/NAS, Server

[Synology] 시놀로지 와일드카드 인증서 갱신 실패로 인한 수동갱신

개인적으로는 최근에 올린 클라우드플레어를 이용한 와일드카드 인증서 사용이 훨씬 편한 것 같습니다.

클플에서도 DDNS 사용이 가능한 만큼, 아래 게시글도 확인해보시고, 더 편리한 방법으로 사용해보세요.

2021.10.01 - [Synology] 시놀로지에서 클라우드플레어 DDNS 설정하고 와일드카드 인증서 받기 #2


예전에 아래 내용의 글을 올렸습니다.

2021.05.12 - [Synology] 시놀로지에 Let's Encrypt 와일드카드 인증서 적용[21.8.2 수정]

 

어제, 인증서 발급이 되지 않는다는 내용을 클리앙에서 보고, 가상머신에 올려 확인해보면서 수정을 했더랬죠.

 

그리고, 갱신 시즌이 된 제 인증서도 갱신이 되지 않음을 확인했습니다.

 

메일로 온 내용은 아래 내용이에요.

작업 스케줄러가 예약 작업을 완료했습니다.

작업: WILDCARD_SSL_renew
시작 시간: 
중지 시간: 
현재 상태: 127 (중단됨)
표준 출력/오류:
Renew: '도메인'
'도메인' is not an issued domain, skip.
/bin/cp: missing destination file operand after '/root/.acme.sh/[도메인]/[도메인].cer'
Try '/bin/cp --help' for more information.
/bin/bash: line 5: /usr/syno/etc/certificate/_archive/[폴더이름]/cert.pem: Permission denied
/bin/cp: cannot stat '/root/.acme.sh/[도메인]/ca.cer': No such file or directory
/bin/cp: cannot stat '/root/.acme.sh/[도메인]/fullchain.cer': No such file or directory
/bin/cp: cannot stat '/root/.acme.sh/[도메인]/[도메인].key': No such file or directory
/bin/bash: line 11: /usr/syno/sbin/synoservicectl: No such file or directory

도메인이 갱신 이슈가 없어 스킵한다는 내용

_archive 폴더 안에 접근이 불가능하다는 내용(권한없음)

(갱신이 되지 않았으니 당연히) 파일이 없다는 내용이 보입니다.

마지막줄은 nginx 를 다시 읽는 내용인데 DSM 7.0이 되며 경로가 변경되었나봅니다.

 

그래서 수동 갱신을 해 봤습니다.

 

root로 해봤어야 확실히 왜 안되는건지를 알텐데 ㅠㅠ... 그냥 해버렸네요.

일단 제가 한 과정 그대로 넣습니다. 왜 된건지, 왜 안되는지는 저도 모릅니다 ㅡ,.ㅡ;

 

 

갱신 명령 입력

$ /var/services/homes/[사용자명]/acme.sh --renew --dns --force -d [도메인] -d *.[도메인] --yes-I-know-dns-manual-mode-enough-go-ahead-please --server letsencrypt

여전히 not an issued domain, skip. 메시지를 뽑아냅니다.

 

acme.sh 의 버전 문제일 수도 있다 생각해 acme.sh를 새로 받아봤습니다.

$ wget https://raw.githubusercontent.com/acmesh-official/acme.sh/master/acme.sh

 

혹시몰라 디버그모드로 실행해봅니다.

$ /var/services/homes/[사용자명]/acme.sh --renew --dns --force -d [도메인] -d *.[도메인] --yes-I-know-dns-manual-mode-enough-go-ahead-please --server letsencrypt --debug

Cert success. 메시지와 BEGIN CERTIFICATE , 그리고 인증서 파일들이 생성되었다는 4줄과 _on_issue_success 가 보였다면 갱신 성공입니다.

 

 

이제 root 권한을 획득한 후 파일 복사, nginx를 갱신해봅니다.

root 권한 획득
$ sudo -i
비밀번호 입력

인증서 파일 복사
# /bin/cp /var/services/homes/[사용자명]/.acme.sh/[도메인]/[도메인].cer /usr/syno/etc/certificate/_archive/Zkq6JK/cert.pem
# /bin/cp /var/services/homes/[사용자명]/.acme.sh/[도메인]/ca.cer /usr/syno/etc/certificate/_archive/Zkq6JK/chain.pem
# /bin/cp /var/services/homes/[사용자명]/.acme.sh/[도메인]/fullchain.cer /usr/syno/etc/certificate/_archive/Zkq6JK/fullchain.pem
# /bin/cp /var/services/homes/[사용자명]/.acme.sh/[도메인]/[도메인].key /usr/syno/etc/certificate/_archive/Zkq6JK/privkey.pem

nginx reload
# synosystemctl reload nginx

 

8월 5일이 만료일이던 제 인증서가 11월 1일로 갱신 완료되었습니다.

이번에는 이렇게 처리했는데.. 다음번엔 자동갱신이 어떻게 될런지 ;;

 

일단은 위 내용을 기준으로 스케줄 설정해 둔 내용을 변경해봅니다.

 

기존 내용

# 인증서 갱신
/var/services/homes/[사용자명]/acme.sh --renew --dns --force -d [도메인] -d *.[도메인] --yes-I-know-dns-manual-mode-enough-go-ahead-please --server letsencrypt

# 갱신된 인증서를 시놀로지에 등록
/bin/cp /root/.acme.sh/[도메인]/[도메인].cer /usr/syno/etc/certificate/_archive/[폴더이름]/cert.pem
/bin/cp /root/.acme.sh/[도메인]/ca.cer /usr/syno/etc/certificate/_archive/[폴더이름]/chain.pem
/bin/cp /root/.acme.sh/[도메인]/fullchain.cer /usr/syno/etc/certificate/_archive/[폴더이름]/fullchain.pem
/bin/cp /root/.acme.sh/[도메인]/[도메인].key /usr/syno/etc/certificate/_archive/[폴더이름]/privkey.pem

# nginx 서비스 재시작
/usr/syno/sbin/synoservicectl --reload nginx

 

변경 내용

# 인증서 갱신
/var/services/homes/[사용자명]/acme.sh --renew --dns --force -d [도메인] -d *.[도메인] --yes-I-know-dns-manual-mode-enough-go-ahead-please --server letsencrypt

# 갱신된 인증서를 시놀로지에 등록
/bin/cp /root/.acme.sh/[도메인]/[도메인].cer /usr/syno/etc/certificate/_archive/[폴더이름]/cert.pem
/bin/cp /root/.acme.sh/[도메인]/ca.cer /usr/syno/etc/certificate/_archive/[폴더이름]/chain.pem
/bin/cp /root/.acme.sh/[도메인]/fullchain.cer /usr/syno/etc/certificate/_archive/[폴더이름]/fullchain.pem
/bin/cp /root/.acme.sh/[도메인]/[도메인].key /usr/syno/etc/certificate/_archive/[폴더이름]/privkey.pem

# nginx 서비스 재시작
/usr/syno/bin/synosystemctl reload nginx

 

일단 3개월간은 또 큰 신경은 안써도 되겠네요..;;