81. Actuator

81.1 更改 Actuator 端点的 HTTP 端口或地址

在独立应用程序中,Actuator HTTP 端口默认与主 HTTP 端口相同。要使应用程序在其他端口上侦听,请设置外部属性management.port。要侦听完全不同的网络地址(例如,如果您有一个用于 Management 的内部网络,而有一个用于用户应用程序的外部网络),则还可以将management.address设置为服务器可以绑定到的有效 IP 地址。

有关更多详细信息,请参见“生产就绪功能”部分中的ManagementServerProperties源代码和* 第 48.3 节“自定义 Management 服务器端口” *。

81.2 自定义“ whitelabel”错误页面

如果您遇到服务器错误,Spring Boot 将安装一个“ whitelabel”错误页面,您将在浏览器 Client 端中看到该页面(使用 JSON 和其他媒体类型的机器 Client 端应该看到带有正确错误代码的明智响应)。

Note

设置server.error.whitelabel.enabled=false以关闭默认错误页面,这将恢复您正在使用的 servlet 容器的默认值。请注意,Spring Boot 仍将尝试解决错误视图,因此您可能会添加自己的错误页面,而不是完全禁用它。

用自己的方法覆盖错误页面取决于您使用的模板技术。例如,如果您使用 Thymeleaf,则将添加error.html模板,如果使用 FreeMarker,则将添加error.ftl模板。通常,您需要使用error解析的View和/或处理/error路径的@Controller。除非您替换了某些默认配置,否则您应该在ApplicationContext中找到一个BeanNameViewResolver,因此 ID 为error@Bean是一种简单的实现方式。查看ErrorMvcAutoConfiguration了解更多选项。

另请参见Error Handling部分,以获取有关如何在 servlet 容器中注册处理程序的详细信息。

81.3Actuator 和 Jersey

ActuatorHTTP 端点仅可用于基于 Spring MVC 的应用程序。如果要使用 Jersey 并仍然使用 Actuator,则需要启用 Spring MVC(例如,取决于spring-boot-starter-web)。默认情况下,Jersey 和 Spring MVC 调度程序 servlet 都 Map 到同一路径(/)。您将需要更改其中一个的路径(通过为 Spring MVC 配置server.servlet-path或为 Jersey 配置spring.jersey.application-path)。例如,如果将server.servlet-path=/system添加到application.properties,则 ActuatorHTTP 端点将在/system下可用。