● 재구성)letsencrypt 시놀로지 인증서 갱신 않됨 /acme.sh 생성 시 TXT record TXT value 추가하기 생성하기
컨텐츠 정보
- 15,467 조회
- 10 댓글
- 0 추천
-
목록
본문
● 시놀로지 NAS, Let's Encrypt WildCard SSL 적용 letsencrypt 시놀로지 인증서 않됨 /acme.sh 생성 시 TXT record TXT value 추가하기 생성하기
저의서버 나만의 system에서 시놀로지 인증서 자동 업데이트 입니다.
https://blog.eunpoong.com/1185
https://github.com/acmesh-official/acme.sh
참조
인증서 acme.sh 설치 하세요
SSH -> acme.sh 스크립트 설치 (다운로드)
작업 디랙토리
cd /var/services/homes/shimss
$ wget https://raw.githubusercontent.com/acmesh-official/acme.sh/master/acme.sh
실행권한 부여
sudo -i
$ chmod a+x acme.sh
작업 디랙토리
/var/services/homes/shimss
#nslookup
# 확인작업
nslookup
> set type=txt
> _acme-challenge.11q.kr
change value check
# https://toolbox.googleapps.com/apps/dig/?lang=ko#TXT/11q.kr
# agine ....build
인증서 임시 만들어진 디랙토리 자신의도메인 경로
~/.acme.sh/11q.kr
= /root/.acme.sh/11q.kr
생성 됩니다
=================
인증서 list 확인
(기존 설치시 에러발생시 확인)
/var/services/homes/shimss/acme.sh list
잘못된 인증서 제거 필요시
/var/services/homes/shimss/acme.sh --remove -d 11q.kr
/var/services/homes/shimss/acme.sh --remove -d 11q.kr --ecc
인증서 생성 (11q.kr는 자신의 도메인으로 변경 하세요)
/var/services/homes/shimss/acme.sh --renew --dns --force -d 11q.kr --yes-I-know-dns-manual-mode-enough-go-ahead-please
/var/services/homes/shimss/acme.sh --issue --dns --force -d 11q.kr --yes-I-know-dns-manual-mode-enough-go-ahead-please --server letsencrypt --debug
[Wed May 18 12:18:01 KST 2022] _d_alias
[Wed May 18 12:18:01 KST 2022] txtdomain='_acme-challenge.11q.kr'
[Wed May 18 12:18:01 KST 2022] txt='MfE1xRzUHIsHjiUDElOyJoC97llmp0Rx0gFE6FB-SRs'
[Wed May 18 12:18:01 KST 2022] d_api
[Wed May 18 12:18:01 KST 2022] Add the following TXT record:
[Wed May 18 12:18:01 KST 2022] Domain: '_acme-challenge.11q.kr'
[Wed May 18 12:18:01 KST 2022] TXT value: 'MfE1xRzUHIsHjiUDElOyJoC97llmp0Rx0gFE6FB-SRs'
[Wed May 18 12:18:01 KST 2022] Please be aware that you prepend _acme-challenge. before your domain
[Wed May 18 12:18:01 KST 2022] so the resulting subdomain will be: _acme-challenge.11q.kr
[Wed May 18 12:18:01 KST 2022] Dns record not added yet, so, save to /root/.acme.sh/11q.kr/11q.kr.conf and exit.
[Wed May 18 12:18:01 KST 2022] Please add the TXT records to the domains, and re-run with --renew.
[Wed May 18 12:18:01 KST 2022] _on_issue_err
[Wed May 18 12:18:01 KST 2022] Please add '--debug' or '--log' to check more details.
[Wed May 18 12:18:01 KST 2022] See: https://github.com/acmesh-official/acme.sh/wiki/How-to-debug-acme.sh
[Wed May 18 12:18:01 KST 2022] socat doesn't exist.
[Wed May 18 12:18:01 KST 2022] Diagnosis versions:
openssl:openssl
OpenSSL 1.1.1n 15 Mar 2022
apache:
apache doesn't exist.
nginx:
nginx version: nginx/1.20.1
TLS SNI support enabled
socat:
========
cafe24시에서 txt를 확인
변경시 아래와같은 값으로 수정
[Wed May 18 12:18:01 KST 2022] Domain: '_acme-challenge.11q.kr'
[Wed May 18 12:18:01 KST 2022] TXT value: 'MfE1xRzUHIsHjiUDElOyJoC97llmp0Rx0gFE6FB-SRs'
구글웹에서 도메인 txt 적용확인
https://toolbox.googleapps.com/apps/dig/?lang=ko#TXT/11q.kr
TXT | TTL: 30 minutesVALUE: "MfE1xRzUHIsHjiUDElOyJoC97llmp0Rx0gFE6FB-SRs" |
에러발생시 --renew 진행
/var/services/homes/shimss/acme.sh --renew --dns --force -d 11q.kr --yes-I-know-dns-manual-mode-enough-go-ahead-please
acme.sh --renew --dns --force -d 도메인명 -d *.도메인명 --yes-I-know-dns-manual-mode-enough-go-ahead-please
출처: https://blog.eunpoong.com/1185 [은풍닷컴]
/var/services/homes/shimss/acme.sh --renew --dns --force -d 11q.kr --yes-I-know-dns-manual-mode-enough-go-ahead-please
설정 값 확인 (참조)
nano /root/.acme.sh/11q.kr/11q.kr.conf
Le_Domain='11q.kr'
Le_Alt='no'
Le_Webroot='dns'
Le_PreHook=''
Le_PostHook=''
Le_RenewHook=''
Le_API='https://acme-v02.api.letsencrypt.org/directory'
Le_Keylength='2048'
Le_OrderFinalize='https://acme-v02.api.letsencrypt.org/acme/finalize/548185016/89611106586'
Le_LinkOrder='https://acme-v02.api.letsencrypt.org/acme/order/548185016/89611106586'
Le_LinkCert='https://acme-v02.api.letsencrypt.org/acme/cert/04d01ff13f5096c4819ae826e3da8c9a714d'
Le_CertCreateTime='1652845014'
Le_CertCreateTimeStr='2022-05-18T03:36:54Z'
Le_NextRenewTimeStr='2022-07-17T03:36:54Z'
Le_NextRenewTime='1657942614'
일반적인 생성 명령
/var/services/homes/shimss/acme.sh --issue --dns --force -d 11q.kr --yes-I-know-dns-manual-mode-enough-go-ahead-please --server letsencrypt --debug
/var/services/homes/shimss/acme.sh --renew --dns --force -d 11q.kr --yes-I-know-dns-manual-mode-enough-go-ahead-please --server letsencrypt --debug
인증서가 생성 되었습니다
보안/인증서 확인
보안/인증서에 아직 적용되지 않습니다
생성된 인증서복사
-> 시놀로지경로로 복사 정보
생성 확인
ls /root/.acme.sh/11q.kr/ -lrt
인증서 위치 확인 작업
cat /usr/syno/etc/certificate/_archive/DEFAULT
2P8uzH 확인하여
복사 위치 확인 인증서 복사위치 2P8uzH에 복사 합니다.
/bin/cp /root/.acme.sh/11q.kr/11q.kr.cer /usr/syno/etc/certificate/_archive/2P8uzH/cert.pem
/bin/cp /root/.acme.sh/11q.kr/11q.kr.key /usr/syno/etc/certificate/_archive/2P8uzH/privkey.pem
/bin/cp /root/.acme.sh/11q.kr/ca.cer /usr/syno/etc/certificate/_archive/2P8uzH/chain.pem
/bin/cp /root/.acme.sh/11q.kr/fullchain.cer /usr/syno/etc/certificate/_archive/2P8uzH/fullchain.pem
파일 변경 확인
ls -lrt /usr/syno/etc/certificate/_archive/2P8uzH
작업 관리자
#일반적인 생성 명령
/var/services/homes/shimss/acme.sh --issue --dns --force -d 11q.kr --yes-I-know-dns-manual-mode-enough-go-ahead-please --server letsencrypt --debug
# 복사 위치 확인 인증서 복사위치 2P8uzH에 복사 합니다.
/bin/cp /root/.acme.sh/11q.kr/11q.kr.cer /usr/syno/etc/certificate/_archive/2P8uzH/cert.pem
/bin/cp /root/.acme.sh/11q.kr/11q.kr.key /usr/syno/etc/certificate/_archive/2P8uzH/privkey.pem
/bin/cp /root/.acme.sh/11q.kr/ca.cer /usr/syno/etc/certificate/_archive/2P8uzH/chain.pem
/bin/cp /root/.acme.sh/11q.kr/fullchain.cer /usr/syno/etc/certificate/_archive/2P8uzH/fullchain.pem
또는 sh 파일 만들어
cat auto_LetsEncrypt.sh
작업 스케줄러 sh파일 등록
auto_LetsEncrypt.sh
주의 ) 테스트 진행시 너무 많이 생성하면 에러 발셍
추가정보로
https://www.wsgvet.com/bbs/board.php?bo_table=home&wr_id=639
는 네임서버을 변경해야 하여 사용불가능
☞ https://11q.kr 에 등록된 자료 입니다. ♠ 정보찾아 공유 드리며 출처는 링크 참조 바랍니다♠
관련자료
-
링크
11qkr님의 댓글
https://siane.tistory.com/264
# 인증서 갱신
/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
11qkr님의 댓글
root@https11qkr:~# nslookup -q=TXT _acme-challenge.11q.kr
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
_acme-challenge.11q.kr text = "MfE1xRzUHIsHjiUDElOyJoC97llmp0Rx0gFE6FB-SRs"
Authoritative answers can be found from:
root@https11qkr:~# pwd
11qkr님의 댓글
보통 역방향 프록시(reverse proxy) 로 웹페이지를 연결할때 ab1.example.duckdns.org, ab2.example.duckdns.org 이런식으로연결을 시켜줄텐데요 원래 앞부분의 ab1,ab2 부분의 인증서를 각각 받아야 하나 *.example.duckdns.org 인증서 하나로 해결할 수 있게 만들어주는 인증서이죠
사용방법은 간단합니다.
docker run -d --rm -v /cert받을 경로:/app/cert -e DOMAIN="*.example.duckdns.org" -e DuckDNS_Token="duckdnstoken" --name=container_name wnsguddk1/wildcard-duckdns-acme:1.0
위와 같이실행시켜주시면 /cert 받을경로에 인증서가 생성됩니다.
11qkr님의 댓글
https://www.wsgvet.com/home/591
/var/services/homes/shimss/acme.sh list
============================
root@https11qkr:/volume1/homes/shimss# /var/services/homes/shimss/acme.sh list
Main_Domain KeyLength SAN_Domains CA Created Renew
11q.kr "2048" *.11q.kr LetsEncrypt.org 2022-06-30T19:06:33Z 2022-08-29T19:06:33Z
root@https11qkr:/volume1/homes/shimss#
11qkr님의 댓글
# 생성 도메인업체 등록후 2번째 실행
#/var/services/homes/shimss/acme.sh --renew --dns --force -d 11q.kr --yes-I-know-dns-manual-mode-enough-go-ahead-please --debug
#/var/services/homes/shimss/acme.sh --issue --dns --force -d 11q.kr --yes-I-know-dns-manual-mode-enough-go-ahead-please --server letsencrypt --debug
/var/services/homes/shimss/acme.sh --issue --dns --force -d 11q.kr -d '*.11q.kr' --yes-I-know-dns-manual-mode-enough-go-ahead-please --server letsencrypt --debug --renew
# 인증서 디폴트 확인
cat /usr/syno/etc/certificate/_archive/DEFAULT
#2P8uzH
# 디볼트로 복사 진행 합니다
# ============================
/bin/cp /root/.acme.sh/11q.kr/11q.kr.cer /usr/syno/etc/certificate/_archive/2P8uzH/cert.pem
/bin/cp /root/.acme.sh/11q.kr/11q.kr.key /usr/syno/etc/certificate/_archive/2P8uzH/privkey.pem
/bin/cp /root/.acme.sh/11q.kr/ca.cer /usr/syno/etc/certificate/_archive/2P8uzH/chain.pem
/bin/cp /root/.acme.sh/11q.kr/fullchain.cer /usr/syno/etc/certificate/_archive/2P8uzH/fullchain.pem
11qkr님의 댓글
acme.sh --issue --dns dns_cf -d wsgvet.com -d '*.wsgvet.com' --keylength ec-384 --key-file /etc/nginx/ssl/privkey.pem --fullchain-file /etc/nginx/ssl/fullchain.pem --cert-file /etc/nginx/ssl/chain.pem --reloadcmd "systemctl reload nginx.service"
acme.sh --issue -w /var/www/wordpress -d aced.ga -d www.aced.ga -d blog.aced.ga -d home.aced.ga -d nas.aced.ga --keylength ec-384 --key-file /etc/nginx/ssl/privkey.pem --fullchain-file /etc/nginx/ssl/fullchain.pem --cert-file /etc/nginx/ssl/chain.pem --reloadcmd "systemctl reload nginx.service"