Closed movement822 closed 2 years ago
구글에서 letsencrypt wildcard
로 검색해보니...
와일드카드 인증서는 DNS 인증
을 해야하는데, stack 에서는 webroot 인증으로만 동작하도록 되어 있습니다.
따라서 ssl-install.sh
를 사용하지 마시고, certbot-auto
명령으로 DNS 인증
예제를 찾아 따라해보시는 것이 좋을 것 같습니다.
그리고 서브 도메인 추가는 ssl-linstall.sh
에서 다음 루틴에 -d
옵션을 -d admin.${INPUT_DOMAIN}
형식으로 추가하도록 임시 수정해서 사용은 가능합니다.
outputComment "# 인증서 발급 테스트를 시작합니다. (--dry-run)\n"
cmd "certbot-auto certonly --webroot -w /var/www/letsencrypt/ -d ${INPUT_DOMAIN} -d www.${INPUT_DOMAIN} -d admin.${INPUT_DOMAIN} -m ${LETSENCRYPT_EMAIL} --agree-tos -n --dry-run"
outputComment "# 실제 인증서 발급을 시작합니다.\n"
cmd "certbot-auto certonly --webroot -w /var/www/letsencrypt/ -d ${INPUT_DOMAIN} -d www.${INPUT_DOMAIN} -d admin.${INPUT_DOMAIN} -m ${LETSENCRYPT_EMAIL} --agree-tos -n"
참고로 제 경우는 서브 도메인이 다른 경우는 계정 자체를 분리하는 경우가 많았기 때문에.... 다음처럼 2개 이상 인증서를 계정마다 각각 발급하는 형태를 사용했습니다.
./ssl-install.sh --user=php79 --domain=php79.net
./ssl-install.sh --user=phpmyadmin --domain=phpmyadmin.php79.net
개별적으로 가능하다면 굳이 와일드카드를 적용할 필요는 없어서요. -d 옵션을 추가해서 어제도 시도해보고 오늘도 시도해봤는데.. 계속 안되서...
확인해보니 /etc/nginx/conf.d/계정명.conf 파일에서 server_name을 수동으로 추가해줘야 하더라고요.
혹시 저처럼 실수하시는 분 있을까봐 글 남깁니다.
맞습니다. nginx 에서 server_name 항목에 서브 도메인은 수동 추가가 필요합니다.
ssl-install.sh
에서는 nginx 설정을 다음 2가지만 추가합니다.
include /etc/letsencrypt/php79/well-known.conf;
https://github.com/php79/stack/blob/master/letsencrypt/template-server.conf
사례 자세히 남겨주셔서 감사하고요. 위키에도 링크해두었습니다. ^^ https://github.com/php79/stack/wiki/letsencrypt#%EB%AC%B8%EC%A0%9C-%ED%95%B4%EA%B2%B0
백업기능은 감사히 잘 사용하고 있습니다.( )
letsencrypt 와일드카드적용 업데이트가 가능하신가요?
아니면 배포하신 코드에서의 수정방법을 알려주실 수 있으신가요?
ssl-install.sh 파일의 171라인, 174라인에서 -d www.${INPUT_DOMAIN} 을 -d .${INPUT_DOMAIN} 로 수정도 해보고.. -d .${INPUT_DOMAIN} 을 추가도 해봤는데.. 진행이 되지 않더라고요.
아니면.. 개별적인 www 뿐만아니라 다른 단어도 사용하고 싶어서요.. 예를들어 admin. 혹은 m. 이나 img. 이런식으로요. 방법이 있을까요?
답변 부탁드립니다.
늘 감사합니다.