ZBLOG

我要用nginx将域名反向代理到8090端口,并且域名有ssl证书

要使用 Nginx 将域名反向代理到 8090 端口,并且为该域名配置 SSL,可以按照以下步骤进行设置:

1. 安装 Nginx

确保你的服务器上已安装 Nginx。可以使用以下命令进行安装(以 Ubuntu 为例):

sudo apt update
sudo apt install nginx

2. 配置 SSL 证书

如果你已经拥有 SSL 证书(例如,/etc/ssl/certs/example.com.crt/etc/ssl/private/example.com.key),则可以跳过获取和生成 SSL 证书的步骤。

如果还没有,你可以使用 Let’s Encrypt 免费获取一个证书,具体步骤如下:

sudo apt install certbot python3-certbot-nginx

然后运行以下命令来获取并自动配置证书(替换 example.com 为你的域名):

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

3. 配置 Nginx

/etc/nginx/sites-available/ 中创建或修改一个配置文件,例如 example.com.conf。你可以用任何文本编辑器打开这个文件:

sudo nano /etc/nginx/sites-available/example.com.conf

将以下内容添加到配置文件中,确保替换相应的部分:

server {
    listen 80;
    server_name example.com www.example.com;

    # Redirect all HTTP requests to HTTPS
    return 301 https://$host$request_uri;
}

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

    ssl_certificate /etc/ssl/certs/example.com.crt;        # 替换为你的证书路径
    ssl_certificate_key /etc/ssl/private/example.com.key;   # 替换为你的密钥路径

    location / {
        proxy_pass http://localhost:8090;                    # 将请求代理到8090端口
        proxy_set_header Host $host;                          # 保持主机头信息一致
        proxy_set_header X-Real-IP $remote_addr;            # 转发真实IP地址
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
        proxy_set_header X-Forwarded-Proto $scheme;         
    }
}

4. 启用配置并重启 Nginx

将站点链接到 sites-enabled 文件夹中,然后重启 Nginx。

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
sudo nginx -t       # 检查Nginx配置是否正确 
sudo systemctl restart nginx   # 重启Nginx服务使更改生效 

5. 测试

现在,访问 https://example.com,应该能够成功通过 SSL 加密访问,同时将流量反向代理到本地的 8090 端口。

确保防火墙允许通过 HTTP (80) 和 HTTPS (443) 的流量。如果你在使用 UFW,可以使用以下命令允许这些端口:

sudo ufw allow 'Nginx Full'

这样就完成了对域名的反向代理及 SSL 配置。如果遇到任何问题,请查看 Nginx 错误日志以获得更多信息。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=20373

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?