Let’s Encrypt配置ssl证书自动更新

摘要:
原因是您必须证明您拥有所请求证书的域名。因为Let's Encrypt需要您托管一些文件。Let's Encrypt证书将在90天后过期。您需要配置脚本以自动更新证书。

配置基本的Nginx设置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
server {
    listen       80 default_server;
    listen       [::]:80 default_server;
    server_name  yourwebsite.com;

    location ^~ /.well-known/acme-challenge/ {
       default_type "text/plain";
       root     /var/www/letsencrypt;
    }

    location = /.well-known/acme-challenge/ {
       return 404;
    }
    ... 其他配置,例如
    location / {
      proxy_pass http://localhost:8080;
    }
}

这里location配置了一个/.well-known/acme-challenge/路径,里面host了简单文件,我这里host了一个简单的html文件。原因是你必须证明,你拥有所请求的证书的域名。因为 Let’s Encrypt要求你host一些文件。

证书90天过期

Let’s Encrypt证书会在90天后过期,需要配置脚本自动更新证书。

1
2
3
4
5
6
7
8
9
#!/bin/sh
# This script renews all the Let's Encrypt certificates with a validity < 30 days

if ! /opt/letsencrypt/letsencrypt-auto renew > /var/log/letsencrypt/renew.log 2>&1 ; then
    echo Automated renewal failed:
    cat /var/log/letsencrypt/renew.log
    exit 1
fi
nginx -t && nginx -s reload

示例配置:

server {
    server_name   www.domain.com domain.com;



    listen 443 ssl; 
    ssl_certificate /etc/letsencrypt/live/www.domain.com/fullchain.pem; 
    ssl_certificate_key /etc/letsencrypt/live/www.domain.com/privkey.pem; 
    include /etc/letsencrypt/options-ssl-nginx.conf; 
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; 

    location / {
           proxy_pass      https://shops.domain.com/;
           proxy_set_header  Host $host;
              
               }

    location ^~ /.well-known/acme-challenge/ {
       default_type "text/plain";
       root     /usr/share/nginx/html;
    }

    location = /.well-known/acme-challenge/ {
       return 404;
    }

}       

  

免责声明:文章转载自《Let’s Encrypt配置ssl证书自动更新》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇stm32基本定时器timer6的原理与使用解决SpringBoot 报错 Error parsing HTTP request header下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

ubuntu上安装nginx+mysql+php5-fpm(PHP5

题外话:由于近段时间测试环境ssh链路质量不大好,经常短线。故我把整个安装过程放到screen里去执行,以防止断线中断了安装过程。执行screen -S install,这样断线后,只要再执行screen -r install 就可以恢复之前的安装界面。 1.安装mysql sudo apt-get install mysql-server mysql-c...

vue被部署到子(二级)目录

需求有的时候,你的域名很珍贵,除了二级域名外。你还可以将你的项目部署在服务器二级目录下,这样的话,就可以部署多个项目了。比如说,我有一个域名为dshvv.com的服务器,我想部署两个项目:12306项目:http://dshvv.com/12306淘宝项目:http://dshvv.com/taobao问题普通项目不会有问题,但是如果是单页项目,而且单页项...

解决 ‘Could not fetch URL https://pypi.python.org’的问题

【前提】: win10下python3和python2共存环境,但是环境变量只配置了python3 【问题】: 用pip安装一个包执行pip2 install xxx的时候报错Fatal error in launcher: Unable to create process using '"' 执行pip3 install xxx的时候报同样的错误Fata...

C#WinForm仿qq窗体拖到windows窗体边上时,自动隐藏C#WinForm

C#WinForm仿qq窗体拖到windows窗体边上时,自动隐藏C#WinForm。代码:     public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }         privat...

虚拟机配置host访问主机web

环境介绍: 主机:ubuntu系统 虚拟机(virtualbox):xp系统 需求:要求在虚拟机中可以访问主机的web站点或者项目 操作步骤: 1.先查看虚拟机中的默认网关 2.在虚拟机中的host文件中添加主机中设置的虚拟域名即可 hosts文件所在路径:C:\WINDOWS\system32\drivers\etc 如下图:...

Nginx系列一:正向代理和反向代理、Nginx工作原理、Nginx常用命令和升级、搭建Nginx负载均衡

转自https://www.cnblogs.com/leeSmall/p/9351343.html 仅供个人学习 一、什么是正向代理、什么是反向代理 1. 正向代理,意思是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内...