温馨提示×

debian如何生成nginxssl证

小樊
41
2026-10-26 05:20:51
栏目: 云计算

在 Debian 上给 Nginx 生成 / 配置 SSL 证书,常见有三种方式。下面按从简单到正规来说。


一、使用 Let’s Encrypt 免费证书(推荐,生产环境)

1. 安装 Certbot

sudo apt update
sudo apt install certbot python3-certbot-nginx -y

2. 自动申请并配置 Nginx

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

替换 example.com 为你自己的域名

Certbot 会:

  • 自动生成 SSL 证书
  • 修改 Nginx 配置
  • 设置自动续期

3. 测试自动续期

sudo certbot renew --dry-run

证书路径通常在:

/etc/letsencrypt/live/example.com/

二、自签名证书(测试 / 内网使用)

1. 生成私钥和证书

sudo openssl req -x509 -nodes -days 365 \
  -newkey rsa:2048 \
  -keyout /etc/ssl/private/nginx-selfsigned.key \
  -out /etc/ssl/certs/nginx-selfsigned.crt

按提示填写信息(可随意填)

2. Nginx 配置示例

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate     /etc/ssl/certs/nginx-selfsigned.crt;
    ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;

    location / {
        root /var/www/html;
        index index.html;
    }
}

3. 测试并重启

sudo nginx -t
sudo systemctl restart nginx

浏览器会提示“不安全”,这是正常的。


三、使用已有证书(如云厂商 / 商业证书)

把证书放到:

/etc/ssl/certs/xxx.crt
/etc/ssl/private/xxx.key

Nginx 配置:

ssl_certificate     /etc/ssl/certs/xxx.crt;
ssl_certificate_key /etc/ssl/private/xxx.key;

四、常用检查命令

# 查看 nginx 是否支持 ssl
nginx -V

# 检查配置
nginx -t

# 重启 nginx
systemctl restart nginx

✅ 建议

  • 公网网站:用 Let’s Encrypt
  • 内网 / 测试:用 自签名
  • 企业合规:用 商业 SSL

如果你愿意,可以告诉我:

  • Debian 版本
  • 是否有域名
  • 是否公网服务器

我可以给你精确配置。

0 踩