하위 도메인에 대한 새 인증서를 만드는 대신 기존 파일을 확장하고 싶습니다.
내 파일에는 이미 다음 필드가 있습니다.
certtool -i < /etc/letsencrypt/live/example.org-0002/fullchain.pem|grep DNSname
DNSname: forum.example.com
DNSname: m.example.de
DNSname: m.example.org
DNSname: example.com
DNSname: example.de
DNSname: example.org
DNSname: wiki.example.org
DNSname: www.example.com
DNSname: www.example.de
DNSname: www.example.org
( certtool
데비안 패키지의 일부)gnutls-bin
알아요. 이 certbot --expand
옵션이 있지만 정확한 도메인을 다시 설정하지 않으면 다음 접미사가 포함된 새 인증서가 생성됩니다.-0003
기존 인증서 파일에만 도메인을 추가하려는 경우 이런 일이 발생하지 않도록 하려면 어떻게 해야 합니까?
답변1
출력에서 목록을 생성하려면 다음 명령을 사용하십시오.
echo 'echo "-d $@"'>/tmp/runme.sh
chmod +x /tmp/runme.sh
domains_with_hyphen_d="$(certtool -i < /etc/letsencrypt/live/example.org-0002/fullchain.pem|grep DNSname|cut -d ":" -f2| xargs -n 1 /tmp/runme.sh|xargs)"
certbot certonly --webroot -w /usr/share/nginx/html/ --expand -d newsubdomain.example.org $domains_with_hyphen_d
답변2
기존 인증서에 대해 모든 도메인을 작성할 필요가 없도록 일부 certbot 스위치를 찾고 있었지만 certbot에는 그러한 스위치가 없습니다. 그래서 나는 이 해결책을 생각해 냈습니다.
CERTNAME=example
DOMAINS=$(certbot certificates --cert-name ${CERTNAME}|grep Domains|cut -d\ -f 6-|sed 's/ /,/g')
NEWDOMAINS=new.example.com,othernew.example.com
certbot certonly --cert-name ${CERTNAME} --expand --domains ${DOMAINS},${NEWDOMAINS}
참고: 인증서에 --cert-name이 없으면 대신 --domain을 사용하고 기존 인증서에 대한 기존 DNS 대체 이름을 사용하십시오.