Spring Boot Actuator - 启用单端点

时间:2016-04-01 21:14:54

标签: java spring spring-boot spring-boot-actuator

HealthMvcEndpoint中两个版本的Spring Boot Actuator(1.2.5和1.3.0)之间的实现存在差异,isUnrestricted()方法(&&和||)。我知道这是为了保留这些限制

http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#production-ready-health-access-restrictions

但现在是否有任何解决方案只允许一个端点(例如Health)不受全部内容的限制,而不会暴露所有其他端点? 禁用management.security.enabled只是让所有端点都可以访问而无需身份验证(?) - 它看起来并不像它那样对端点敏感。

3 个答案:

答案 0 :(得分:0)

我设法通过endpoints.enabled = false首先禁用所有端点并禁用其安全性management.security.enabled = false来部分解决此问题 并且启用了我想要的没有安全性的 - 比如健康端点 endpoints.health.enabled = trueendpoints.health.sensitive = false

答案 1 :(得分:0)

使用执行器2更改了这些属性

禁用所有执行器端点,请使用

management.endpoints.enabled-by-default=false

要启用特定端点,请使用management.endpoint.<id>.enabled属性。以下示例启用了关闭端点:

management.endpoint.shutdown.enabled=true

官方文档

https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-features.html

答案 2 :(得分:0)

启用特定端点

首先,我们需要关闭启用所有端点的默认设置

management.endpoints.enabled-by-default = false

接下来,让我们仅启用和公开/health端点:

management.endpoint.health.enabled = true
management.endpoints.web.exposure.include = health

使用此配置,我们只能访问 /health 端点。