
nginx如何防止ssl证书过期?
nginx配置免费SSL证书及证书定时更新
环境 contos 6,证书发行Let's Encrypt
证书生成前提是域名是可用的,即已经备案通过并且有DNS解析到了具体IP
1、安装epel,
>yum install epel-release
2、下载certbot证书生成工具certbot-auto
>wget https://dl.eff.org/certbot-auto --no-check-certificate
3、安装工具的依赖
>chmod +x certbot-auto >./certbot-auto -n
4、生成证书
单域名:
>./certbot-auto certonly --email my@163.com --agree-tos --no-eff-email --webroot -w /usr/local/nginx/html/xue/ -d www.xue37.cn
注意:替换邮箱、网站目录和域名
多域名:
>./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
证书生成在/etc/letsencrypt/live/www.xue37.cn/目录下(具体生成地址执行完命令有提示信息)
5、证书延期(因为证书有效期为90天)
certbot-auto工具支持证书延期操作,因此可以使用crontab定时任务定时自动延期
>0 3 * * * /root/certbot-auto renew --disable-hook-validation --renew-hook "/usr/local/nginx/sbin/nginx -s reload"
每天3点进行证书延期,crontab表达式自己可以百度
注意:
自己可以先单独执行一下:
/root/certbot-auto renew --disable-hook-validation --renew-hook "/usr/local/nginx/sbin/nginx -s reload"
我这里提示The following certs are not due for renewal yet,表示证书未到期,没有其他错误。因此为了防止证书失效时间过久,这里可以设置为每天都进行延期操作
6、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; } }
7、设置80端口301到443
修改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; } }
注意:nginx修改后需要重启:/usr/local/nginx/sbin/nginx -s reload
注意:nginx配置需要处理
location ~ /\. { deny all; }
这段配置删掉或注释掉或在这段配置前面加上(如果没有这段配置请忽略)
location ~ /.well-known { allow all; }
更多Nginx相关技术文章,请访问Nginx使用教程栏目进行学习!
Atas ialah kandungan terperinci nginx如何防止ssl证书过期. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
nginx mulakan semula
Penjelasan terperinci tentang konfigurasi nginx
Penjelasan terperinci tentang konfigurasi nginx
Apakah perbezaan antara tomcat dan nginx
Cara membuat animasi gif dalam ps
Adakah kadar kejayaan tiket siap sedia keretapi 12306 tinggi?
Kedudukan terkini sepuluh bursa teratas dalam bulatan mata wang
Bagaimana untuk membeli dan menjual Bitcoin di China