HealthMvcEndpoint中两个版本的Spring Boot Actuator(1.2.5和1.3.0)之间的实现存在差异,isUnrestricted()方法(&&和||)。我知道这是为了保留这些限制
但现在是否有任何解决方案只允许一个端点(例如Health)不受全部内容的限制,而不会暴露所有其他端点? 禁用management.security.enabled只是让所有端点都可以访问而无需身份验证(?) - 它看起来并不像它那样对端点敏感。
答案 0 :(得分:0)
我设法通过endpoints.enabled = false
首先禁用所有端点并禁用其安全性management.security.enabled = false
来部分解决此问题
并且启用了我想要的没有安全性的 - 比如健康端点
endpoints.health.enabled = true
和endpoints.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 端点。