본문 바로가기
Synology

[시놀로지] Let's Encrypt 인증서 갱신(DSM7)

by kage2k 2022. 5. 1.
728x90
반응형

접은 글을 확인하지 마세요... 다른 방식으로 직접 할 수 있네요. 

더보기

기존 CA 방식에서 ZeroSSL을 적용해야 가능하게 변경된듯 합니다.
내용을 잊기전에 기록을 남깁니다.

> ZeroSSL 가입

https://zerossl.com/

[Free SSL Certificates and SSL Tools - ZeroSSL

zerossl.com](https://zerossl.com/)

1 . New Cerificate

2. 본인의 도메인을 넣으시고

3. 1년은 돈을 내야하는 듯

4.

5. 돈을 내고 할 필요가 있다면 선택하시고

6. 시놀로지 메일서버를 구성하고 사용중이라면 Email Verification을 이용해도 됩니다.
필자는 구글DNS CNAME을 구성합니다.

주의! 구글DNS CNAME 구성 시, 맞춤도메인 [호스트이름] 에서 저장하게 되면 자신의 도메인을 한개 더 넣어버리는데 위 내용에서 자신의 도메인을 뺀 나머지만 앞부분만 넣으세요.

이후 화면상태에 따라 진행하시면됩니다.

 

[갱신! 22.05.01 아래의 내용입니다. 

> SSH에서 진행

처음부터 다시 한다고 생각하고 내용을 기록합니다.
SSH 에 접속합니다. (맥- 터미널에서 하셔도 되고, 도커 wetty에서 하셔도됩니다)

ssh 유저아이디@아이피 -p포트
예) ssh abc@123.123.1.1 -p2210

sudo -i
암호를 넣고 root 권한을 얻음.

 

acme.sh 스크립트 설치.
wget https://raw.githubusercontent.com/acmesh-official/acme.sh/master/acme.sh

 

 

 

실행권한 부여
chmod a+x acme.sh

 

// 기본 CA 변경 (갱신 22.06.11)

/root/acme.sh --set-default-ca --server letsencrypt

 

 

debug해보기

/root/acme.sh --issue --dns --force -d [내도메인.com] -d *.[내도메인.com] --yes-I-know-dns-manual-mode-enough-go-ahead-please --server letsencrypt --debug



[보기 편하게 코드 늘리기]

 

중간에 TXT value 부분을 DNS TXT 로 넣어줍니다. 필자는 구글DNS 에 넣었습니다.

renew하기

/root/acme.sh --renew --dns --force -d [내도메인.com] -d *.[내도메인.com] --yes-I-know-dns-manual-mode-enough-go-ahead-please --server letsencrypt




[보기 편하게 코드 늘리기]

성공하면 아래와 같은 success 메시지가 나옵니다.

그리고 인증서의 위치가 표시 됩니다.

 

 

 

 

> 인증서를 압축 및 복사

ssh에서 어떻게 압축하고 복사하는지 몰라서 찾아보았습니다.

1. cd 명령어로 [자신의도메인] 폴더까지 이동합니다.

2. 파일 압축 명령어
zip text.zip ./* => 의미는 text파일명에 zip 압축 ./* 해당폴더에 있는 모든 파일및 하위폴더 포함

3. 파일복사 cp 파일명.압축명 위치 cp encrypt.zip /volume2/share3 => 의미는 encrypt.zip 파일을 volume2/share3에 복사해줘

 

 

 

> 인증서 적용(DSM추가)

제어판 > 보안 > 인증서 > 추가 (혹, 기존 인증서를 변경하셔도 됩니다)

개인키 > 내 도메인.key
인증서 > 내 도메인.cer
중간 인증서 > ca.cer

[확인] 하고 됩니다.

> 자동갱신 스크립트 만들기

기본인증서 경로 찾기
cat /usr/syno/etc/certificate/_archive/DEFAULT
ABC

위 ABC는 랜덤입니다. 시놀로지 사용자에 따라 다릅니다.

시놀로지 작업스케줄에 지정하면됩니다.

적용한 sh 파일 내용입니다.

# 인증서 갱신
/root/acme.sh --renew --dns --force -d [내도메인.com] -d *.[내도메인.com] --yes-I-know-dns-manual-mode-enough-go-ahead-please --server letsencrypt

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

# nginx 서비스 재시작
# 시놀로지 DSM v7.x nginx 리로드
synosystemctl restart nginx

끝. 입니다.

300x250
반응형