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

部署Spring Boot API至Azure App Service时端口80占用问题求助

解决Azure App Service中Spring Boot端口80占用问题

核心原因

Azure App Service的80/443端口由平台前端的反向代理服务占用,你的Spring应用无需直接监听这两个端口,只需监听Azure分配的内部端口,该端口通过环境变量PORT传递。

具体解决方案

1. 修改Spring Boot配置,适配Azure内部端口

在Spring Boot配置文件中添加端口配置,让应用自动读取环境变量:

  • 若使用application.properties:
    server.port=${PORT:8080}
    
  • 若使用application.yml:
    server:
      port: ${PORT:8080}
    

8080是本地开发的 fallback 端口,部署到Azure后会自动替换为平台分配的内部端口。

2. 利用Azure自动部署机制,避免手动启动

Azure App Service会自动检测可执行JAR包并启动应用,无需手动执行java -jar命令:

  • 确保Gradle构建时使用bootJar任务生成可执行JAR
  • 在App Service的配置页面,启动命令留空(或设置为java -jar /home/site/wwwroot/app.jar,推荐留空让平台自动处理)

3. 纠正端口占用排查的误区

你手动终止端口80进程导致SSH关闭,是因为该进程是Azure平台的代理服务,不能手动终止。平台会自动完成80端口到应用内部端口的流量转发,无需干预代理进程。

4. 验证配置有效性

部署后通过App Service的日志流查看启动日志,若日志显示Tomcat started on port(s): XXXXX (http)(XXXXX为非80端口),说明配置生效,Azure会自动将80端口的外部流量转发到该内部端口。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 09:55:27