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

Windows环境下Spring Boot内嵌Tomcat配置VirtualHost实现域名访问不跳转IP端口

问题核心原因
  • 域名默认解析后访问的是服务器80(HTTP)/443(HTTPS)端口,你的Spring Boot服务运行在54654非标准端口,未做端口映射和域名绑定的情况下,访问域名要么自动跳转IP+端口,要么只能通过iframe套壳的隐性转发保留域名,就是你之前遇到的嵌套问题。
  • 修改hosts文件仅负责域名到IP的本地解析,不处理端口映射和服务端重定向逻辑,因此不会生效。
可实现需求的两种方案

方案1:仅通过Spring Boot配置实现(单域名绑定场景适用)

可以通过application.properties配置完成,不需要额外修改Tomcat虚拟主机设置,操作步骤如下:

  1. 若服务器80端口未被其他站点占用,直接将Spring Boot端口改为80,同时配置域名绑定即可:
# 服务端口改为80,域名访问时不需要加端口
server.port=80
# 绑定对应域名,重定向时强制使用该域名,替换为你自己的域名
spring.server.name=www.abc.com
# 关闭相对重定向,避免生成IP地址的跳转链接
server.tomcat.use-relative-redirects=false
  1. 若80端口被占用,保留原端口54654,修改配置如下:
server.port=54654
spring.server.name=www.abc.com
# 开启转发头识别,读取请求的真实域名而非本地IP
server.use-forward-headers=true
server.tomcat.remoteip.host-header=x-forwarded-host
server.tomcat.remoteip.protocol-header=x-forwarded-proto
server.tomcat.use-relative-redirects=false

然后在Windows服务器上用管理员权限打开CMD,执行端口转发命令,将公网80端口收到的请求转发到本地54654端口:
netsh interface portproxy add v4tov4 listenaddress=你的服务器公网IP listenport=80 connectaddress=127.0.0.1 connectport=54654
注意:该方案仅适用于80端口只有你这一个域名使用的场景,多站点共存请用方案2

方案2:配置Nginx反向代理(多站点共存场景推荐)

不需要修改Spring Boot的任何配置,用Nginx监听80端口,根据不同域名转发到对应服务端口,完美适配多站点共存的场景:

  1. 下载Windows版本的Nginx,解压后修改配置文件conf/nginx.conf,新增如下server块:
server {
    listen 80;
    server_name www.abc.com; # 替换为你的域名
    location / {
        # 转发到本地Spring Boot服务端口
        proxy_pass http://127.0.0.1:54654;
        # 传递真实请求域名给后端服务
        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;
        # 禁止后端返回IP地址的重定向
        proxy_redirect off;
    }
}
  1. 启动Nginx即可,后续所有域名访问都会走Nginx转发,地址栏全程保留域名,不会跳转IP+端口,也不会影响服务器上其他站点的原有访问规则。
排查注意事项
  • 配置完成后清空浏览器缓存再测试,避免旧的301/302重定向缓存影响结果
  • 确认域名解析的A记录直接指向服务器公网IP,未开启CDN、隐性转发等中间服务
  • 服务器安全组/防火墙需开放80、443端口的入站规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 18:15:02