Nginx 配置ssl证书

1. 准备 SSL 证书文件

确保您有以下文件:

SSL 证书文件(通常是 .crt 或 .pem 文件)
私钥文件(通常是 .key 文件)
中间证书文件(如果适用,通常是 .crt 或 .pem 文件)
将这些文件上传到服务器上的一个安全目录,例如 /etc/nginx/ssl:

sudo mkdir -p /etc/nginx/ssl
sudo cp your_certificate.crt /etc/nginx/ssl/
sudo cp your_private.key /etc/nginx/ssl/
sudo cp your_intermediate.crt /etc/nginx/ssl/  # 如果适用

2. 配置 Nginx

sudo nano /etc/nginx/sites-available/your_site

添加或修改以下内容以启用 SSL:

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

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

    ssl_certificate /etc/nginx/ssl/your_certificate.crt;
    ssl_certificate_key /etc/nginx/ssl/your_private.key;

    # 如果有中间证书,请添加以下行
    ssl_trusted_certificate /etc/nginx/ssl/your_intermediate.crt;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384';
    ssl_prefer_server_ciphers on;

    # 为了安全性,您可以添加其他 SSL 配置,例如 HSTS
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

    location / {
        include uwsgi_params;
        uwsgi_pass unix:/path/to/your/project.sock;
    }

    location /static/ {
        alias /path/to/your/project/static/;
    }
}

3. 启用新站点配置

创建一个符号链接,以启用该配置:

sudo ln -s /etc/nginx/sites-available/your_site /etc/nginx/sites-enabled/

4. 测试 Nginx 配置

在重新加载 Nginx 之前,测试配置文件是否正确:

sudo nginx -t

5. 重启 Nginx

如果配置文件测试通过,重启 Nginx 以应用更改:

sudo systemctl restart nginx

6. 设置防火墙

确保防火墙允许 HTTP 和 HTTPS 流量:

sudo ufw allow 'Nginx Full'
sudo ufw enable
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值