Spring Boot集成Actuator后访问localhost:8200/actuator连接被拒绝求助
Spring Boot Actuator 端口无法访问问题解决步骤
- 检查是否引入Web依赖
Spring Boot Actuator的Web端点需要依赖Web容器才能启动,仅引入actuator依赖不会自动初始化Web服务。根据应用类型补充对应依赖:- Servlet Web应用补充
spring-boot-starter-web依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> - 响应式Web应用补充
spring-boot-starter-webflux依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-webflux</artifactId> </dependency>
- Servlet Web应用补充
- 检查占位符配置合法性
当前配置中使用${my.application.name}作为Metrics公共标签,若该配置项未在配置文件、启动参数或环境变量中定义,会导致应用上下文初始化异常,连带Actuator组件无法正常启动。请查看启动日志,确认是否存在占位符解析失败的报错,补全对应配置即可。 - 确认8200端口是否正常监听
执行对应系统的端口检查命令,确认是否有进程监听8200端口:- Windows系统执行命令:
netstat -ano | findstr 8200 - Linux/Mac系统执行命令:
lsof -i:8200
如果未查询到监听记录,说明Actuator的Web服务未成功启动,继续往下排查。
- Windows系统执行命令:
- 检查Web端点是否被手动关闭
确认配置文件中没有添加management.endpoints.web.enabled=false配置,该配置会全局关闭Actuator的Web端点功能,默认值为true,如果存在该配置请删除或修改为true。 - 检查安全框架拦截规则
若项目引入了spring-boot-starter-security依赖,默认安全规则会拦截所有Actuator端点请求,可临时通过排除安全自动配置测试是否为安全框架导致的问题:@SpringBootApplication(exclude = { org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class, org.springframework.boot.actuate.autoconfigure.security.servlet.ManagementWebSecurityAutoConfiguration.class }) public class YourApplication { public static void main(String[] args) { SpringApplication.run(YourApplication.class, args); } }
如果测试可正常访问,按需调整安全框架的放行规则即可。
- 检查本地防火墙规则
如果端口已正常监听仍无法访问,确认本地防火墙是否拦截了8200端口的本地请求,临时关闭防火墙测试即可验证。
内容的提问来源于stack exchange,提问作者user8473984
相关产品推荐
相关产品推荐

