温馨提示×

Debiannginxssl如何开启https

小樊
35
2026-09-02 15:51:08
栏目: 云计算

在 Debian 上通过 Nginx 开启 HTTPS(SSL),通常步骤如下(以免费证书 Let’s Encrypt 为例,也适用于自签证书)。


一、安装 Nginx

sudo apt update
sudo apt install nginx -y

二、申请 SSL 证书(推荐 Let’s Encrypt)

1. 安装 certbot

sudo apt install certbot python3-certbot-nginx -y

2. 自动申请并配置 HTTPS

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

替换 yourdomain.com 为你的域名
域名需已解析到服务器 IP

certbot 会自动:

  • 申请证书
  • 修改 Nginx 配置
  • 开启 443 端口

三、手动配置 HTTPS(不使用 certbot 时)

1. 准备证书文件

假设证书位于:

/etc/nginx/ssl/yourdomain.crt
/etc/nginx/ssl/yourdomain.key

2. 编辑 Nginx 站点配置

sudo nano /etc/nginx/sites-available/yourdomain.com

示例配置:

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name yourdomain.com www.yourdomain.com;

    ssl_certificate     /etc/nginx/ssl/yourdomain.crt;
    ssl_certificate_key /etc/nginx/ssl/yourdomain.key;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;

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

3. 启用站点

sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/

4. 测试并重载 Nginx

sudo nginx -t
sudo systemctl reload nginx

四、防火墙放行 HTTPS

sudo ufw allow 'Nginx Full'

sudo ufw allow 443/tcp

五、自动续期(Let’s Encrypt)

sudo certbot renew --dry-run

certbot 已默认配置定时任务。


六、验证

浏览器访问:

https://yourdomain.com

如果你需要:

  • 自签证书
  • 多域名 / 通配符
  • 反向代理 + HTTPS
  • HTTP/2

可以继续告诉我你的使用场景。

0