Spring Boot 1.5 中的健康端点无法通过 HTTPS 工作
Health endpoint not working over HTTPS in Spring Boot 1.5
我最近将应用程序中的 Spring Boot 版本从 1.4 更新到 1.5.1,我注意到在部署到 AWS 上的 Elastic Beanstalk 后健康检查开始失败。
在我们的 AWS 环境中,所有通信都通过 HTTPS 进行,包括健康状况,它过去可以与 Spring Boot 和 Actuator 1.4 一起正常工作,但我们开始在 1.5 版的执行器健康端点上获得 401。
有没有人遇到同样的问题?不确定此版本中与此主题相关的更改,但我没有通过阅读发行说明找到任何解决方案。很乐意提供任何帮助。
与 https 无关。
因为 1.5.1 健康点默认是安全的,这就是你得到 401 的原因。
它在发行说明中:
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-1.5-Release-Notes
"Actuator "sensitive" 端点现在默认是安全的(即使不依赖于 "Spring Security")。如果您现有的 Spring Boot 1.4 应用程序使用 Spring 安全(并且没有任何自定义安全配置)一切都应该像以前一样工作。如果您现有的 Spring Boot 1.4 应用程序具有自定义安全配置并且您希望对敏感端点开放访问,您将需要在您的安全配置中明确配置它。如果您正在升级不依赖于 Spring 安全的 Spring Boot 1.4 应用程序,并且您希望保留对敏感端点的开放访问,您“需要将 management.security.enabled 设置为 false。有关详细信息,请参阅更新的参考文档。”
我最近将应用程序中的 Spring Boot 版本从 1.4 更新到 1.5.1,我注意到在部署到 AWS 上的 Elastic Beanstalk 后健康检查开始失败。
在我们的 AWS 环境中,所有通信都通过 HTTPS 进行,包括健康状况,它过去可以与 Spring Boot 和 Actuator 1.4 一起正常工作,但我们开始在 1.5 版的执行器健康端点上获得 401。
有没有人遇到同样的问题?不确定此版本中与此主题相关的更改,但我没有通过阅读发行说明找到任何解决方案。很乐意提供任何帮助。
与 https 无关。
因为 1.5.1 健康点默认是安全的,这就是你得到 401 的原因。
它在发行说明中:
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-1.5-Release-Notes
"Actuator "sensitive" 端点现在默认是安全的(即使不依赖于 "Spring Security")。如果您现有的 Spring Boot 1.4 应用程序使用 Spring 安全(并且没有任何自定义安全配置)一切都应该像以前一样工作。如果您现有的 Spring Boot 1.4 应用程序具有自定义安全配置并且您希望对敏感端点开放访问,您将需要在您的安全配置中明确配置它。如果您正在升级不依赖于 Spring 安全的 Spring Boot 1.4 应用程序,并且您希望保留对敏感端点的开放访问,您“需要将 management.security.enabled 设置为 false。有关详细信息,请参阅更新的参考文档。”