내 웹사이트에 대한 SSL 인증서를 생성하기 위해 certbot을 사용하고 있습니다. 자동 업데이트가 작동하지 않는 문제가 있었습니다(cron 스크립트 오류 및 오래된 python2로 인해 현재 해결됨). 이제 내 서버에 최신 라이센스 파일이 있습니다.
라이센스 파일은 letsencrypt 아래의 아카이브에 있으며, 업데이트할 때마다 숫자가 증가하는 것으로 보입니다(fullchain3이 최신입니다).
root@mysite /etc/letsencrypt/live/mysite.com # ls -l ../../archive/mysite.com/ total 48K -rw-r--r-- 1 root root 3.4K Sep 8 2017 fullchain1.pem -rw-r--r-- 1 root root 3.5K May 8 17:02 fullchain2.pem -rw-r--r-- 1 root root 3.5K Jul 7 21:19 fullchain3.pem
심볼릭 링크는 최신을 가리키고, lighty는 링크를 따르도록 설정됩니다:
root@mysite /etc/letsencrypt/live/mysite.com # ls -l ../../live/mysite.com/fullchain.pem lrwxrwxrwx 1 root root 39 Jul 7 21:19 ../../live/mysite.com/fullchain.pem -> ../../archive/mysite.com/fullchain3.pem
하지만 SSLLabs에서는 내 인증서가 오래되었다고 알려주고, 라이센스 파일의 일련번호를 확인해보니 fullchain2.pem을 받고 있는 것으로 나타났습니다.
라이티가 다시 시작되었습니다. mod-compress가 실행 중인데 다시 시작해도 이전 인증서 파일을 캐싱할 수 있습니까? 그렇다면 그렇게 하지 말라고 어떻게 말해야 할까요? 그렇지 않다면 원인은 무엇입니까?
업데이트 : 가볍게 중지하고 캐시 디렉토리를 지우고 다시 시작해 보았습니다. 같은 결과, 같은 파일이 제공되는 것 같습니다 ...
답변1
알겠습니다. 문제가 해결되었습니다.
Lighty의 경우 인증서를 업데이트한 후 추가 단계가 필요합니다. 기본적으로 cert 디렉터리에 있는 두 파일을 연결하여 새 파일을 수동으로 만들어야 합니다. 아래 링크를 참조하세요:
https://www.bytebang.at/Blog/Free+SSL+certificate+for+lighttpd+with+letsencrypt
이것이 완료되지 않으면 lighty의 오류 로그는 "인증서 만료" 메시지로 가득 차게 됩니다.
(여기서 전체 설정 절차를 제공하지는 않지만 기본적으로 인증서를 업데이트한 후 다음을 수행해야 합니다.
cat privkey.pem cert.pem > web.pem
라인과 일치해야합니다
ssl.pemfile = "/etc/letsencrypt/live/mysite.com/web.pem"
귀하의 가벼운 구성에서.
아래에서 지적했듯이 실제로 최신 lighty와 연결된 파일을 사용할 필요는 없지만 내 (그렇지 않으면 안정적인) 구성을 변경하는 대신 인증서 업데이트를 관리하고 연결을 생성하기 위한 간단한 bash 스크립트를 만들었습니다. 파일:
#!/bin/bash
function update_web { cd $1 if [ web.pem -ot cert.pem ]; then echo updating web.pem in $1 cat privkey.pem cert.pem > web.pem fi }
/root/certbot/certbot-auto renew --no-self-upgrade update_web /etc/letsencrypt/live/mysite.com update_web /etc/letsencrypt/live/www.mysite.com