HTTPS实现及自动续期

HTTPS实现及自动续期

安装certbot

进行安装目录,如:/data1/server (根据实际情况输入)
git clone https://github.com/certbot/certbot

配置nginx

见下面的完整示例
注意首次配置时需要只开放80端口,完成证书申请后再配置443端口

申请证书

支持一次性申请多个域名(多个域名共用一份证书)

示例

/data1/server/certbot/letsencrypt-auto --no-self-upgrade certonly \
 --webroot -w /data1/webroot/gitlab/certbot/hostname.com \
 -d qy.xzdjjd.com \
 -d wx.xzdjjd.com \
 -d sp.xzdjjd.com \ -d svc.xzdjjd.com

成功后证书一般会位于该目录 /etc/letsencrypt/live/

更新nginx,强制走https

见下面完整示例
更新后重启nginx,并访问网址,检查是https是否正常

自动续期

通过crontab添加定时更新任务

crontab -e

0 3 * * * /data1/tools/certbot/letsencrypt-auto renew --no-self-upgrade --post-hook "/data1/cron/certbot_renew.sh" > /dev/null 2>&1 &

其中certbot_renew.sh为更新证书后,重启nginx让证书生效的脚本,如:

#!/bin/bash
set -xe
#source /etc/profile # 每天定期重启Nginx,避免ssl证书过期 # 只有测试通过才重启nginx /data1/server/nginx/1.15.7/bin/sbin/nginx -t if [ $? -eq 0 ]; then # 重新启动nginx /data1/server/nginx/1.15.7/bin/sbin/nginx -s reload fi exit $?

完整示例

加密算法(ssl_ciphers)根据实际情况配置,本示例中的算法对CPU消耗较高

 


server {
    listen      443;
    ssl on;
    ssl_certificate_key /etc/letsencrypt/live/svcs.private.3ruler.com/privkey.pem; ssl_certificate /etc/letsencrypt/live/svcs.private.3ruler.com/fullchain.pem; ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4"; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_session_cache shared:SSL:30m; ssl_session_timeout 30m; ssl_stapling on; ssl_stapling_verify on; ssl_prefer_server_ciphers on; ssl_dhparam /etc/ssl/certs/dhparam.pem; resolver 119.29.29.29 114.114.114.114 valid=300s; resolver_timeout 10s; add_header Strict-Transport-Security max-age=63072000; add_header X-Frame-Options SAMEORIGIN; add_header X-Content-Type-Options nosniff; server_name svcs.private.3ruler.com; # access_log /data1/logs/nginx/3ruler/svcs.private.3ruler.com-access_log main; # error_log /data1/logs/nginx/3ruler/svcs.private.3ruler.com-error_log; gzip on; gzip_types text/plain application/javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg; client_max_body_size 1024m; location / { proxy_set_header REMOTE_ADDR $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_pass http://127.0.0.1:8921; proxy_set_header Host $host; proxy_redirect off; proxy_connect_timeout 60; proxy_read_timeout 600; proxy_send_timeout 600; } # 仅用于首次申请证书 # location /.well-known/acme-challenge/ { # root /data1/webroot/certbot/order/svcs.private.3ruler.com; # } } server { listen 80; server_name svcs.private.3ruler.com; # 续期证书通过该入口 location /.well-known/acme-challenge/ { root /data1/webroot/certbot/order/svcs.private.3ruler.com; } location / { return 301 https://$http_host$request_uri; } }

 

 

转载于:https://www.cnblogs.com/chenjunwu/p/11548167.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值