教程:在 Ubuntu 上为 NGINX 配置 SSL 证书

教程:在 Ubuntu 上为 NGINX 配置 SSL 证书

1. 环境准备

  1. 操作系统:Ubuntu 20.04 或更高版本。
  2. Web 服务:NGINX。
  3. 域名:确保你的域名正确指向服务器的 IP 地址(A 记录)。
  4. 权限:需要 sudo 权限。

2. 安装必要工具

更新系统软件包

sudo apt update
sudo apt upgrade -y

安装 Certbot 和 NGINX 插件

sudo apt install certbot python3-certbot-nginx -y

3. 使用 Certbot 申请 SSL 证书

运行以下命令申请证书:

sudo certbot --nginx -d domain.baizi.net

执行步骤:

  1. Certbot 会提示输入你的邮箱地址(用于重要通知)。
  2. 选择是否允许共享邮箱信息(根据个人选择 YN)。
  3. Certbot 会自动配置 NGINX,并尝试验证域名。
  4. 验证成功后,Certbot 会自动安装证书,并更新 NGINX 配置。

成功后,你会看到类似以下提示:

Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/domain.baizi.net/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/domain.baizi.net/privkey.pem

4. 验证 SSL 配置

访问 https://domain.baizi.net,检查是否启用了 HTTPS。可以使用浏览器查看证书详情或在线工具(如 SSL Labs)测试。

5. 配置强制 HTTPS(可选)

修改 NGINX 配置文件

Certbot 可能已经自动生成了重定向配置。如果没有,请手动编辑你的 NGINX 配置文件,通常位于 /etc/nginx/sites-available/ 目录。

sudo nano /etc/nginx/sites-available/domain.baizi.net

添加或修改以下内容:

server {
    listen 80;
    server_name domain.baizi.net;

    # 将 HTTP 请求重定向到 HTTPS
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name domain.baizi.net;

    ssl_certificate /etc/letsencrypt/live/domain.baizi.net/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/domain.baizi.net/privkey.pem;

    # 推荐的安全配置
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers HIGH:!aNULL:!MD5;

    # 其他网站配置
    root /var/www/html;
    index index.html index.htm;
}

 

 

测试 NGINX 配置并重启

sudo nginx -t
sudo systemctl reload nginx

6. 自动续期

Let's Encrypt 证书的有效期为 90 天。Certbot 自带自动续期功能,但建议手动验证。

测试续期

运行以下命令,测试是否能成功续期:

sudo certbot renew --dry-run

如果测试成功,系统会自动安排续期任务,无需额外配置。


7. 日常管理

检查证书状态

sudo certbot certificates

手动续期证书

sudo certbot renew

删除旧证书(如果不再需要)

sudo certbot delete --cert-name domain.baizi.net

版权声明:本文内容采用 CC BY-NC-SA 4.0 协议许可,转载请注明
文章名称:教程:在 Ubuntu 上为 NGINX 配置 SSL 证书
文章链接:https://www.baizi.net/chatgpt/chatgpt-learn/404.html
文章链接:https://www.baizi.net/chatgpt/chatgpt-learn/404.html
根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24小时内从您的设备中彻底删除下载内容,否则一切后果请您自行承担,如果您喜欢该程序,请购买注册正版以得到更好的服务。
联系方式(#替换成@):serverr#baizi.net

THE END
分享
二维码
海报
教程:在 Ubuntu 上为 NGINX 配置 SSL 证书
教程:在 Ubuntu 上为 NGINX 配置 SSL 证书 1. 环境准备 操作系统:Ubuntu 20.04 或更高版本。 Web 服务:NGINX。 域名:确保你的域名正确指向服务器的 IP 地……
<<上一篇
下一篇>>