[Synology] 시놀로지 와일드카드 인증서 갱신 실패로 인한 수동갱신
![[Synology] 시놀로지 와일드카드 인증서 갱신 실패로 인한 수동갱신](/content/images/size/w2000/wordpress/2022/10/0-10-1.png)
최근에 올린 클라우드플레어를 이용한 와일드카드 인증서 사용이 훨씬 편합니다.
클플에서도 DDNS 사용이 가능한 만큼, 아래 게시글도 확인해보시고, 더 편리한 방법으로 사용해보세요.
[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개월간은 또 큰 신경은 안써도 되겠네요..;;