返回

剖析 Spring Boot 中的 server.port 与 management.server.port:揭秘端口管理与 Actuator 的奥秘

后端

Spring Boot 中的端口管理:深入探究 server.port 和 management.server.port

在现代快速发展的软件开发领域,Spring Boot 作为一种强大的 Java 框架,备受开发人员的追捧。它简化了应用程序的配置和部署过程,让开发者可以专注于业务逻辑的实现。在 Spring Boot 中,端口管理 是一个至关重要的方面,其中 server.portmanagement.server.port 更是两个不容忽视的关键配置属性。

server.port:应用程序的主端口

server.port 是 Spring Boot 应用程序的主端口配置属性,它指定了应用程序对外提供服务的端口号。当您在应用程序中使用 @SpringBootApplication 注解时,Spring Boot 会自动将 server.port 的默认值设置为 8080。您可以通过在 application.propertiesapplication.yml 配置文件中显式指定 server.port 来覆盖默认值。

代码示例:

server:
  port: 9090

以上配置将应用程序的主端口设置为 9090。

management.server.port:Actuator 管理端口

management.server.portSpring Boot Actuator 的管理端口配置属性,它指定了 Actuator 管理端口的端口号。Actuator 是 Spring Boot 提供的一套管理工具,它允许您监控和管理您的 Spring Boot 应用程序。默认情况下,management.server.port 的值与 server.port 相同,这意味着 Actuator 管理端口与应用程序的主端口位于同一个端口上。

为了增强安全性,您可以将 management.server.port 设置为与 server.port 不同的端口号。这可以防止未经授权的访问者通过 Actuator 管理端口访问应用程序的敏感信息。

代码示例:

management:
  server:
    port: 8081

以上配置将 Actuator 管理端口的端口号设置为 8081。

Actuator 在 Spring Boot 中的应用

Actuator 是 Spring Boot 提供的一套强大的管理工具,它允许您监控和管理您的 Spring Boot 应用程序。Actuator 提供了丰富的端点,您可以通过这些端点访问应用程序的运行时信息、配置信息、健康状态等信息。

要启用 Actuator ,您需要在您的 Spring Boot 项目中添加 Spring Boot Actuator 的依赖。您可以通过以下方式添加依赖:

代码示例:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

添加依赖后,您需要在您的 Spring Boot 应用程序中启用 Actuator 。您可以通过在 application.propertiesapplication.yml 配置文件中添加以下配置来启用 Actuator

代码示例:

management:
  endpoints:
    web:
      exposure:
        include: "*"

启用 Actuator 后,您就可以通过 Actuator 管理端口访问应用程序的端点了。您可以使用浏览器或 REST 客户端访问 Actuator 端点,例如:

HTTP GET 请求:

http://localhost:8081/actuator/info

以上请求将返回应用程序的运行时信息和配置信息。

结论

在本文中,我们探讨了 Spring Bootserver.portmanagement.server.port 的区别以及 ActuatorSpring Boot 中的应用。通过对这两个端口配置属性和 Actuator 的深入理解,您可以更好地管理和监控您的 Spring Boot 应用程序。

常见问题解答

  1. 我该如何检查应用程序正在使用的端口?

    您可以通过以下命令检查应用程序正在使用的端口:

    netstat -an | grep LIST
    
  2. 我该如何配置 Actuator 端点的安全设置?

    您可以通过以下配置来配置 Actuator 端点的安全设置:

    management:
      endpoints:
        web:
          security:
            enabled: true
            basic:
              enabled: true
            user:
              name: my-user
              password: my-password
    
  3. 如何禁用 Actuator?

    您可以通过在 application.propertiesapplication.yml 配置文件中添加以下配置来禁用 Actuator

    management:
      endpoints:
        web:
          exposure:
            exclude: "*"
    
  4. 我可以在生产环境中启用 Actuator 吗?

    在生产环境中启用 Actuator 是不推荐的,因为 Actuator 端点可能会泄露敏感信息。

  5. 我可以通过命令行访问 Actuator 端点吗?

    是的,您可以使用 curl 命令行工具通过命令行访问 Actuator 端点,例如:

    curl -u my-user:my-password http://localhost:8081/actuator/info