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

如何实现不同子域名分别指向服务器不同端口服务

实现方案

DNS协议本身确实不支持直接指定端口映射,要实现不同域名分流到同一IP的不同端口,最通用稳定的方案是在VM实例上部署反向代理做基于域名的请求转发,以下是具体操作步骤,以最常用的Nginx为例:

1. 配置DNS解析

先将两个域名都解析到你的VM公网IP:

  • 为abc.com添加A记录,解析值填10.20.30.40
  • 为api.abc.com添加A记录,解析值填10.20.30.40
    DNS生效后两个域名默认都会请求到VM的80端口,后续由反向代理按域名规则分发请求。

2. 安装Nginx

根据VM的操作系统选择对应安装命令:

  • Debian/Ubuntu 系列:sudo apt update && sudo apt install nginx -y
  • CentOS/RHEL 系列:sudo dnf install nginx -y
    安装完成后执行命令启动Nginx并设置开机自启:sudo systemctl enable --now nginx

3. 调整原有服务端口避免冲突

因为Nginx需要占用公网80端口接收所有请求,你需要先调整原有服务的监听配置:

  • 将原本运行在80端口的Python HTTP Server改为监听本地127.0.0.1的其他空闲端口,比如8080,不要直接暴露公网
  • 保持FastAPI应用监听本地127.0.0.1:8000即可,同样不要直接暴露公网

4. 配置反向代理规则

新建Nginx配置文件,路径为/etc/nginx/conf.d/proxy_rule.conf,写入以下内容:

# 转发abc.com请求到本地8080端口的Python文件服务
server {
    listen 80;
    server_name abc.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

# 转发api.abc.com请求到本地8000端口的FastAPI服务
server {
    listen 80;
    server_name api.abc.com;

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        # 适配FastAPI文档页的WebSocket连接
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

保存文件后执行sudo nginx -t检查配置语法,如果返回syntax is ok和test is successful的提示,就执行sudo systemctl reload nginx重载配置生效。

配置完成后直接访问http://abc.com就会打开Python HTTP Server的文件服务,访问http://api.abc.com会直接打开FastAPI应用,不需要在地址后加端口号。

其他非推荐替代方案

如果不想部署反向代理,也可以选择以下方案,但存在明显缺陷:

  • 域名URL转发:部分DNS服务商提供显性URL转发功能,可以将api.abc.com跳转到http://abc.com:8000,但访问时浏览器地址栏会显示带端口的真实地址,部分免费转发服务会植入广告,稳定性差。
  • CDN/边缘网关回源规则配置:将域名托管到CDN服务商,在控制台配置不同域名的回源端口,这种方案需要额外付费,配置复杂度高于自建Nginx,适合已有CDN使用需求的场景。

内容的提问来源于stack exchange,提问作者Partha Maity

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 09:39:20