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

如何移除GCP部署的Spring Boot应用访问URL中的8080端口号

问题解决方案

首先说明你当前Zuul配置失效的核心原因:

  • 你将Zuul与业务应用部署在同一个进程内,Zuul本身默认监听端口也为8080,就算转发规则生效,访问时仍需要携带8080端口,完全无法实现去掉端口的需求
  • 你配置的转发目标为http://localhost:8080/,等价于将请求转发给自身,会造成请求循环,无法正常处理请求
  • HTTP协议默认端口为80,直接用IP不带端口访问的本质是服务监听80端口处理请求,和Zuul没有关系。

方案1:直接修改Spring Boot服务端口(最简单,无需额外组件)

操作步骤:

  1. 修改你的application配置文件(application.properties/yml),添加配置:
server.port=80

如果你是将war包部署到外部Tomcat,无需修改Spring Boot配置,只需修改Tomcat的conf/server.xml文件,将<Connector port="8080"的端口值改为80即可。

  1. 配置GCP防火墙规则:
    • 进入GCP控制台「VPC网络」-「防火墙」页面
    • 新建入站规则,开放TCP 80端口,源IP范围可根据你的需求设置(公网访问可设为0.0.0.0/0),目标选择你部署应用的Compute Engine实例对应的标签
  2. 重启你的Spring Boot应用/外部Tomcat,直接访问http://sampleip 即可正常访问。

方案2:用Nginx做反向代理(适合后续需要扩容多服务的场景)

如果你不想修改现有应用的8080端口,可以通过Nginx监听80端口,转发请求到你的应用:

  1. 在部署应用的GCP虚拟机上安装Nginx
  2. 编辑Nginx配置文件,添加如下反向代理规则:
server {
    listen 80;
    server_name _;
    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;
    }
}
  1. 测试Nginx配置合法后重启Nginx,同样开放GCP 80端口的防火墙规则即可生效。

内容的提问来源于stack exchange,提问作者Archana Acharya T

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 09:54:03