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

同一IP下如何配置子域名指向不同端口的对应服务

问题根因

访问子域名跳主站的核心原因有两个:

  1. 错配了无效的DNS记录:普通HTTP/HTTPS网页访问完全不会读取SRV记录,SRV仅对SIP、私有协议类服务生效,浏览器默认只会向目标IP的80(HTTP)/443(HTTPS)端口发起请求,之前添加的SRV记录不会起任何作用。
  2. 缺少流量分流层:A记录仅能实现「域名→IP」的映射,无法区分同一个IP上部署的多个服务。当前80/443端口默认被个人网站占用,所有指向该IP的域名请求,默认都会被个人网站接收,自然会跳转到原站。
正确配置步骤

第一步:修正DNS配置

先把之前添加的所有SRV记录、错误的转发记录全部删除,仅保留以下记录即可:

  • 主域名(比如yourdomain.com、www.yourdomain.com):A记录指向你的服务器公网IP
  • Gitea子域名(比如git.yourdomain.com):A记录同样指向你的服务器公网IP
  • 如果用Cloudflare做DNS代理,配置初期先把代理状态切到「仅DNS(灰云)」,等所有配置验证通了再开橙云代理,避免缓存旧配置导致调试失败。

第二步:配置反向代理做流量分流

同IP部署多个Web服务必须靠反向代理按请求域名分流,常用Nginx/Caddy都可以,以下以最常用的Nginx为例:

  1. 先本地验证Gitea服务正常:在服务器上执行curl http://127.0.0.1:3000(3000是Gitea默认端口,如果你改了就换成实际端口),能正常返回Gitea页面再往下走。
  2. 编辑Nginx的Gitea站点配置,核心配置参考如下:
server {
    listen 80;
    listen [::]:80;
    server_name git.yourdomain.com; # 替换成你实际的Gitea子域名

    location / {
        proxy_pass http://127.0.0.1:3000; # 替换成Gitea实际监听的本地地址+端口
        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配置,确保server_name字段只填写主站相关域名,不要写*通配符,否则会抢占子域名的请求。
  2. 执行nginx -t验证配置语法无误后,执行systemctl reload nginx重载配置生效。

第三步:配置HTTPS与Gitea基础参数

  1. 直接用certbot自动申请Let's Encrypt证书即可,执行certbot --nginx,按交互提示选中主站和Gitea子域名,工具会自动帮你添加443监听、HTTP跳HTTPS的配置,不需要手动编辑。
  2. 打开Gitea的配置文件app.ini,找到[server]段,把ROOT_URL修改为https://git.yourdomain.com/,保存后执行systemctl restart gitea重启服务,避免后续Gitea生成的仓库链接、内部跳转还带旧端口号。
常见踩坑排查
  • 如果配置完还是跳主站,先检查DNS解析是否生效:本地执行nslookup git.yourdomain.com,确认返回的IP是你的服务器公网IP。如果用了Cloudflare,去后台手动清一次全站缓存,或者开5分钟开发模式等缓存过期。
  • 不要用域名服务商提供的「隐性URL转发」「显性URL转发」功能实现子域名访问,这类转发是服务商层面的跳转,稳定性差,还会导致Gitea部分功能异常。
  • 检查服务器防火墙、安全组规则,确保80、443端口对外部放行。
  • 如果用Caddy做反向代理配置更简单,直接在Caddyfile里加两行即可,Caddy会自动申请、续期HTTPS证书,不需要额外操作:
git.yourdomain.com {
    reverse_proxy 127.0.0.1:3000
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 06:36:21