CentOS 7 配置 Let's Encrypt

CentOS 7 配置 Let's Encrypt

ACME方式:通过 acme.sh 配置,参考教程

  1. 安装 Certbot Let’s Encrypt 客户端

    $ sudo yum install epel-release -y
    $ sudo yum-config-manager --enable epel
    $ sudo yum install certbot-nginx -y
    
  2. 设置 Nginx

    $ sudo yum install nginx # 安装 nginx
    $ sudo systemctl start nginx # 启动 nginx 服务
    $ sudo vi /etc/nginx/nginx.conf # 修改域名配置
    $ sudo nginx -t # 检查 nginx 配置是否正确
    $ sudo nginx -s reload # 重启 nginx 服务
    
  3. 修改防火墙配置(可选)

    # firewalld
    $ sudo firewall-cmd --add-service=http
    $ sudo firewall-cmd --add-service=https
    $ sudo firewall-cmd --runtime-to-permanent
    
    # iptables
    $ sudo iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT
    $ sudo iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT
    
  4. 获取证书

    $ sudo certbot --nginx -d example.com -d www.example.com
    

    可能需要填写邮箱注册 Certbot,根据提示操作即可。

  5. 更新 Diffie-Hellman 参数 SSL 质量测试

    • 生成 dhparam 文件 sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
    • 添加 ssl_dhparam /etc/ssl/certs/dhparam.pem; 到文件 /etc/nginx/nginx.conf 任意 server 块内
      ...
      server {
        ...
        ssl_dhparam /etc/ssl/certs/dhparam.pem;
      }
      ...
      
    • 测试 sudo nginx -t 并刷新 nginx 配置 sudo nginx -s reload
  6. 设置自动更新证书 Crontab 教程
    Certbot 证书有效期为 90 天,过期后需要重新获取证书,可以通过 Linux 的 Crontab 定时任务自动更新。通过 sudo crontab -e 编辑用户自定义定时任务,插入 15 3 * * * /usr/bin/certbot renew --quiet (每天 3:15 执行任务 /usr/bin/certbot renew 并通过 --quiet 配置 “不等待输出信息就直接退出命令”)

参考:
How To Secure Nginx with Let's Encrypt on CentOS 7

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容