为什么Spring Boot中management.server.port配置不生效?
Spring Boot 独立配置Actuator端口访问异常解决方案
出现该现象是因为独立配置management.server.port后,缺少Actuator端点暴露、权限控制的配套配置,按以下步骤调整即可实现主服务端口、管理端口分别正常响应请求:
1. 补全application.properties配置
在原有配置基础上新增以下配置:
# 原有配置保留 server.port=9090 management.server.port=10080 # 新增配置:暴露所有web端点,可按需指定具体端点用逗号分隔,如health,info management.endpoints.web.exposure.include=* # 可选:开启健康检查详情展示 management.endpoint.health.show-details=always # 如不需要自定义管理端上下文路径,无需配置management.server.servlet.context-path,保持默认即可
2. 排查端口与权限问题
- 确认10080端口无占用:Windows执行
netstat -ano | findstr 10080,Linux/macOS执行lsof -i:10080 - 如引入了Spring Security依赖,需新增Actuator端点免认证配置,示例如下:
import org.springframework.boot.actuate.autoconfigure.security.servlet.EndpointRequest; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.web.SecurityFilterChain; @Configuration public class ActuatorSecurityConfig { @Bean public SecurityFilterChain actuatorSecurityFilterChain(HttpSecurity http) throws Exception { http.securityMatcher(EndpointRequest.toAnyEndpoint()) .authorizeHttpRequests(auth -> auth.anyRequest().permitAll()) .csrf(csrf -> csrf.disable()); return http.build(); } }
3. 访问验证
应用启动成功后,日志会打印两个端口的启动记录,此时:
http://localhost:9090/abc正常响应业务接口内容http://localhost:10080/actuator正常返回所有暴露的Actuator端点列表
内容的提问来源于stack exchange,提问作者du-it
相关产品推荐
相关产品推荐

