部署在Azure上的Spring Boot应用出现500/502/503/504错误求助
Azure Spring Boot应用部署后无法访问的排查步骤
1. 检查Web App运行状态与日志
- 进入Azure门户的目标Web App服务,在概述页确认实例处于「运行中」状态
- 查看日志流或诊断日志,搜索启动失败相关关键词(如
Failed to start、Port conflict、Database connection error) - 核对GitHub Actions部署日志,确认应用构建、打包、部署全流程完成后,应用是否成功初始化
2. 验证端口配置
- Azure App Service默认监听
80或8080端口,检查Spring Boot配置文件(application.properties/application.yml)的端口设置:server.port=8080 - 若使用自定义端口,需在Web App的配置>应用程序设置中添加
WEBSITES_PORT配置项,值与应用端口保持一致
3. 确认数据库连接配置
- 检查Web App的应用程序设置中,PostgreSQL连接字符串(含主机地址、用户名、密码、数据库名)是否配置正确
- 验证Azure Database for PostgreSQL的防火墙规则,是否将Web App的出站IP列表(可在Web App属性页获取)添加至允许访问范围
- 可在Web App的控制台中执行简单的数据库连接测试,确认连通性
4. 检查Spring Security配置
- 确认
permitAll()规则覆盖了所有需公开的端点,示例配置:@Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers("/public/**", "/actuator/health").permitAll() .anyRequest().authenticated(); } - 排查是否存在自定义过滤器、拦截器拦截了公开端点的请求
5. 测试实例内部连通性
- 在Web App的控制台执行
curl localhost:8080(替换为你的应用端口),确认应用在实例内部可正常响应 - 检查Web App的网络>网络限制,确认未启用限制访问的IP规则;若有规则,需添加允许访问的IP范围
6. 检查App Service Plan资源状态
- 在App Service Plan的指标页查看CPU、内存使用率,确认未因资源耗尽导致应用无法响应
内容的提问来源于stack exchange,提问作者Luigi Woodhouse
相关产品推荐
相关产品推荐

