nginx는 SSL 인증서 만료를 어떻게 방지하나요?
nginx는 무료 SSL 인증서 및 정기 인증서 업데이트를 구성합니다
환경 contos 6, 인증서 발급 Let's Encrypt
인증서 생성을 위한 전제 조건은 도메인 이름이 사용 가능해야 한다는 것입니다. 즉, 도메인 이름이 등록되어 확인되었습니다. DNS를 통해 특정 IP에
1. epel을 설치하고,
>yum install epel-release
2. certbot-auto
>wget https://dl.eff.org/certbot-auto --no-check-certificate
3. 도구 종속성을 설치합니다.
단일 도메인 이름:
>chmod +x certbot-auto >./certbot-auto -n
참고: 이메일, 웹사이트 디렉터리 및 도메인 이름 바꾸기
여러 도메인 이름:
>./certbot-auto certonly --email my@163.com --agree-tos --no-eff-email --webroot -w /usr/local/nginx/html/xue/ -d www.xue37.cn
인증서는 /etc/letsencrypt/live/www.xue37.cn/ 디렉터리에 생성됩니다(실행 후 프롬프트 메시지가 표시됩니다).
5. 인증서 확장(인증서는 90일 동안 유효하므로)
certbot-auto 도구는 인증서 확장 작업을 지원하므로 crontab 예약 작업을 사용하여 3시에 자동으로 인증서를 확장할 수 있습니다. 매일 시계
>./certbot-auto certonly --email my@163.com --agree-tos --no-eff-email --webroot -w /usr/local/nginx/html/xue/ -d www.xue37.cn -d xue37.cn
crontab 표현은 Baidu가 될 수 있습니다
참고:
먼저 별도로 실행할 수 있습니다:
>0 3 * * * /root/certbot-auto renew --disable-hook-validation --renew-hook "/usr/local/nginx/sbin/nginx -s reload"
여기에 메시지가 표시됩니다. 다음 인증서는 아직 갱신 기한이 아니므로 인증서가 갱신되지 않았음을 의미합니다. 만료되었으며 다른 오류는 없습니다. 따라서 인증서가 너무 오랫동안 만료되는 것을 방지하려면 매일 확장 작업을 수행하도록 설정할 수 있습니다
6. nginx
/root/certbot-auto renew --disable-hook-validation --renew-hook "/usr/local/nginx/sbin/nginx -s reload"
7에 인증서 구성을 추가합니다. 80 포트 301을 443으로 설정
nginx 구성을 수정합니다.
server { listen 443 ssl; server_name www.xue37.cn; ##这里是你的域名 ssl_certificate /etc/letsencrypt/live/www.xue37.cn/fullchain.pem; #前面生成的证书,改一下里面的域名就行 ssl_certificate_key /etc/letsencrypt/live/www.xue37.cn/privkey.pem; #前面生成的密钥,改一下里面的域名就行 ssl_ciphers ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!AESGCM; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; access_log /data/application/logs/xue.access.log main; location ^~ /bot { proxy_pass http://xue-server; include proxy-params.conf; } location / { root html/xue; index index.html index.htm; } location = /50x.html { root html; } }
참고: nginx 수정 후 다시 시작해야 함: /usr/local/nginx/sbin/nginx -s reload
참고: nginx 구성을 처리해야 함
server { listen 80; server_name localhost; location /.well-known/ { add_header Content-Type 'text/plain;'; root /usr/local/nginx/html/xue; } location / { return 301 https://www.xue37.cn$request_uri; } }
이 구성을 삭제하거나 주석 처리하거나 앞에 추가 이 구성(이 구성이 없으면 무시하세요)
location ~ /\. { deny all; }
더 많은 Nginx 관련 기술 기사를 보려면
Nginx 사용법 튜토리얼위 내용은 nginx에서 SSL 인증서 만료를 방지하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!