Ubuntu 配置用 Nginx 配置 HTTPS 的步骤

Ubuntu 配置用 Nginx 配置 HTTPS 的步骤

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. 创建强加密 Diffie-Hellman 密钥

为了提升安全性,建议生成一个 Diffie-Hellman 参数文件:

sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

3. 配置 Nginx 支持 HTTPS

修改你的 Nginx 配置文件,添加以下内容(基于你当前的配置):

http {
    server {
        listen 80;
        server_name 192.168.10.128;

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

    server {
        listen 443 ssl;
        server_name 192.168.10.128;

        # 自签名证书路径
        ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
        ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;

        # DH 参数文件
        ssl_dhparam /etc/ssl/certs/dhparam.pem;

        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_prefer_server_ciphers on;

        # 配置代理
        location / {
            proxy_pass http://192.168.0.33:5001;
            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;
        }
    }
}

4. 重启 Nginx

保存配置文件后,测试并重启 Nginx:

sudo nginx -t # 测试配置是否正确
sudo systemctl restart nginx

5. 验证 HTTPS 配置

访问 https://192.168.10.128,确认 HTTPS 正常工作。如果是自签名证书,浏览器会提示证书不受信任,点击继续访问即可。

如果使用 Let’s Encrypt
如果你可以为这个地址绑定一个域名,可以使用 Let’s Encrypt 的 Certbot 工具来获取免费证书,替换掉上面的自签名证书配置。具体参考我之前提到的步骤。

这样,你的服务应该可以通过 HTTPS 访问了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值