You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Nginx通过SSL实现多端口反向代理以同时承接前后端服务?

配置方案

你可以通过路径前缀区分两个后端服务,直接在现有HTTPS server块中新增反向代理规则即可,不需要额外申请证书。

完整修改后的Nginx配置

# 80端口跳转HTTPS配置保持不变
server {
    listen 80 default_server;
    server_name <server_name>;
    return 301 https://$server_name$request_uri;
}
 
server {
    listen 443 ssl;
    server_name <server_name>;
    ssl_certificate <location_to_certificate>;
    ssl_certificate_key <location_to_private_key>;

    # 前端静态资源配置保持不变
    location / {
        root /var/www/html;
        index index.html index.htm;
    }

    # 代理5000端口后端,示例用/api/app1/作为前缀,可自行修改
    location /api/app1/ {
        # 去掉前缀再转发到后端,如果你后端接口本身就带/api/app1/前缀可以删掉下一行rewrite规则
        rewrite ^/api/app1/(.*)$ /$1 break;
        proxy_pass http://127.0.0.1:5000;
        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;
    }

    # 代理5050端口后端,示例用/api/app2/作为前缀,可自行修改
    location /api/app2/ {
        rewrite ^/api/app2/(.*)$ /$1 break;
        proxy_pass http://127.0.0.1:5050;
        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;
    }
}

生效操作

  1. 执行nginx -t检测配置是否存在语法错误
  2. 检测通过后执行systemctl reload nginx重载配置生效

访问方式

配置完成后,两个后端的HTTPS访问地址为:

  • 5000端口后端:https://<你的域名>/api/app1/ + 接口路径
  • 5050端口后端:https://<你的域名>/api/app2/ + 接口路径

可选方案

如果你不想用路径前缀区分服务,也可以使用两个子域名分别指向两个后端,每个子域名单独配置一个443 server块即可,只要你的SSL证书支持对应子域名,反向代理规则和上述配置逻辑一致。

安全优化

可以将Gunicorn的监听地址改为127.0.0.1而非0.0.0.0,避免后端端口直接暴露到公网,修改后的启动命令为:

  • gunicorn --workers 5 -b 127.0.0.1:5050 wsgi:app
  • gunicorn --workers 5 -b 127.0.0.1:5000 wsgi:app

内容的提问来源于stack exchange,提问作者Shivam Sahil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 19:42:02