LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

Nginx + Let’s Encrypt实现免费证书!网站不再提示“不安全”!

admin
2025年8月28日 23:42 本文热度 80

最近自己搭建了一个博客网站,我用openssl方式创建了一个免费证书,结果登录时显示“不安全”,要写hosts文件才可以,让用户配置不现实。

然后我就换成了Let’s Encrypt 免费证书,成功解决这个不安全的问题。

下面是我操作的完整步骤:

1 为什么不用自签名证书?

openssl自签名证书会遇到:

  • 浏览器仍然提示“不安全”
  • 每台客户端都需要手动信任
  • 无法自动续期

opnessl的自签名证书适合用在测试或开发环境,做网站就不适用。所以我用 Let’s Encrypt 生成免费证书,浏览器完全信任,并且可以自动续期。

2 前提

公网域名已备案:我的是www.ligelinux.com

DNS 已解析www.ligelinux.com 和 ligelinux.com 都指向你的服务器 IP

Nginx 已安装,80 端口可访问。

3 安装 Certbot

yum install epel-release -y         # 启用 EPEL 源
yum install certbot python3-certbot-nginx -y

CentOS 7.9 默认 EPEL 里的 Certbot 版本较旧,如果 nginx 插件不可用,可用 Webroot 模式

4 配置 Nginx

因为我用的是CentOS7.9,没有加载到nginx插件,所以使用webroot方式绕过插件,需要放通80端口测试。

server {
    listen 80;                               # 监听 HTTP 80 端口
    server_name www.ligelinux.com ligelinux.com;  # 域名绑定

    # Let’s Encrypt 验证路径
    location /.well-known/acme-challenge/ {
        root /data/nginx/cert;              # 指向 Webroot 临时目录
        allow all;
    }

    location / {
        return 301 https://$host$request_uri;  # 所有 HTTP 请求重定向到 HTTPS
    }
}

创建目录并测试

mkdir -p /data/nginx/cert/.well-known/acme-challenge
echo "test-ok" > /data/nginx/cert/.well-known/acme-challenge/test.txt

访问:

http://www.ligelinux.com/.well-known/acme-challenge/test.txt

显示 test-ok 表明路径正确。

申请 Let’s Encrypt 证书

certbot certonly --webroot -w /data/nginx/cert \
-d www.ligelinux.com -d ligelinux.com
  • --webroot -w /data/nginx/cert:指定验证目录

  • -d www.ligelinux.com -d ligelinux.com:指定需要证书的域名

证书生成后默认存放:

/etc/letsencrypt/live/www.ligelinux.com/fullchain.pem
/etc/letsencrypt/live/www.ligelinux.com/privkey.pem

5 配置HTTPS + 反向代理

server {
    listen 443 ssl http2;                       # 启用 HTTPS 和 HTTP/2
    server_name www.ligelinux.com ligelinux.com;

    ssl_certificate     /etc/letsencrypt/live/www.ligelinux.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/www.ligelinux.com/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;

    location / {
        proxy_pass http://xxxxxx:8090;   # 反向代理到后端应用,填写你的IP地址
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

重载 Nginx:

nginx -t
systemctl restart nginx

然后访问一下URL,会发现已经显示安全

6 自动续签

Certbot 证书默认是90天过期,但提供自动续签功能:

sudo certbot renew --dry-run
  • --dry-run 模拟续签
  • 可添加 Nginx 自动重载:
sudo certbot renew --deploy-hook "systemctl reload nginx"
  • 确保 .well-known/acme-challenge/ 目录保持可访问,否则续签会失败。

7 小技巧总结

  • 访问域名:必须通过 www.ligelinux.com 或 ligelinux.com,直接访问 IP 不安全
  • 浏览器缓存:首次启用 HTTPS,可清理浏览器缓存
  • 自动续签:使用 Certbot timer 或 cron 保证证书永不过期
  • 多域名/子域名:可以在申请时 -d sub.example.com 一次性添加


阅读原文:原文链接


该文章在 2025/8/29 11:34:28 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved