微服务架构之Spring Boot(七十六)

2022-05-23 15:45:02 浏览数 (1)

54.3配置管理特定的SSL

配置为使用自定义端口时,还可以使用各种 management.server.ssl.* 属性为管理服务器配置自己的SSL。例如,这样做可以让主应用程序使

用HTTPS时管理服务器通过HTTP可用,如以下属性设置所示:

server.port=8443

server.ssl.enabled=true

server.ssl.key-store=classpath:store.jks

server.ssl.key-password=secret

management.server.port=8080

management.server.ssl.enabled=false

或者,主服务器和管理服务器都可以使用SSL但具有不同的密钥库,如下所示:

server.port=8443

server.ssl.enabled=true

server.ssl.key-store=classpath:main.jks

server.ssl.key-password=secret

management.server.port=8080

management.server.ssl.enabled=true

management.server.ssl.key-store=classpath:management.jks

management.server.ssl.key-password=secret

54.4自定义管理服务器地址

您可以通过设置 management.server.address 属性来自定义管理端点可用的地址。如果您只想在内部或面向运行的网络上侦听或仅侦听来

自 localhost 的连接,这样做非常有用。

仅当端口与主服务器端口不同时,才能侦听不同的地址。

以下示例 application.properties 不允许远程管理连接:

management.server.port=8081

management.server.address=127.0.0.1

54.5禁用HTTP端点

如果您不想通过HTTP公开端点,可以将管理端口设置为 -1 ,如以下示例所示:

management.server.port=-1

这也可以使用 management.endpoints.web.exposure.exclude 属性来实现,如以下示例所示:

management.endpoints.web.exposure.exclude=*

55.对JMX的监测和管理

Java Management Extensions(JMX)提供了一种监视和管理应用程序的标准机制。默认情况下,Spring Boot将管理端点公开

为 org.springframework.boot 域下的JMX MBean。

55.1自定义MBean名称

MBean的名称通常是从端点的 id 生成的。例如, health 端点公开为 org.springframework.boot:type=Endpoint,name=Health 。

如果您的应用程序包含多个Spring ApplicationContext ,您可能会发现名称发生冲突。要解决此问题,可以将 spring.jmx.unique-names

属性设置为 true ,以便MBean名称始终是唯一的。

您还可以自定义公开端点的JMX域。以下设置显示了在 application.properties 中执行此操作的示例:

spring.jmx.unique-names=true

management.endpoints.jmx.domain=com.example.myapp

55.2禁用JMX端点

如果您不想通过JMX公开端点,可以将 management.endpoints.jmx.exposure.exclude 属性设置为 * ,如以下示例所示:

management.endpoints.jmx.exposure.exclude=*

55.3通过HTTP使用Jolokia for JMX

Jolokia是一个JMX-HTTP桥,它提供了一种访问JMX beans的替代方法。要使用Jolokia,请在 org.jolokia:jolokia-core 中包含依赖项。例

如,使用Maven,您将添加以下依赖项:

<dependency>

<groupId>org.jolokia</groupId>

<artifactId>jolokia-core</artifactId>

</dependency>

然后,可以通过向 management.endpoints.web.exposure.include 属性添加 jolokia 或 * 来公开Jolokia端点。然后,您可以在管理HTTP服

务器上使用 /actuator/jolokia 来访问它。

0 人点赞