CentOS使用CertBot生成Let‘s Encrypt证书

生成证书

  1. 首先看这个英文教程
  1. 下载certbot文件,并使其可执行wget https://dl.eff.org/certbot-auto chmod a+x certbot-auto
  2. 然而CentOS并不能全自动生成证书,在此只有半自动方式:certbot-auto所在目录,运行命令./certbot-auto certonly
  3. 如果你使用了Laravel等MVC框架,请先关闭apache或nginx服务器,这里选择第三项Spin up a temporaty webserver (standalone)
  4. 输入域名,多个域名用逗号隔开
    • 确保443端口在防火墙中打开,
    • 确保所输入的域名能够解析到当前服务器。
    • 使用了CloudFlare的域名,要关闭中转。
  5. 成功后证书文件会保存到/etc/letsencrypt/live/域名/里面。四个pem文件。
  6. 三个月后要更新现有所有证书,运行这个命令certbot-auto renew

在Nginx服务器中启用https

在站点配置文件开头这样写:

server{
    listen 443;
    server_name xx.yy.com;
    ssl on;
    ssl_certificate /etc/letsencrypt/live/xx.yy.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/xx.yy.com/privkey.pem;
    ......
}

http跳转到https

这里有三种跳转的方案
以下是第一种:

server{
        listen 80;
        server_name xx.yy.com;
        rewrite ^(.*)$ https://$host$1 permanent;
}

添加新评论