You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法访问Spring Boot Actuator端点,如何实现免令牌访问?

无需令牌访问Spring Boot Actuator端点的解决方案

你可以通过配置Spring Security放行Actuator端点,跳过令牌认证,以下是几种可行方案:

方案1:配置文件快速放行(适用于Spring Boot 2.3及更早版本)

在application.properties中添加以下配置,直接忽略Actuator端点的安全校验:

spring.security.ignored=/actuator/**

注意:该配置在Spring Boot 2.4及以上版本已被弃用,推荐使用代码配置方式。

方案2:编写Spring Security配置类(推荐,适配所有新版本)

创建自定义Security配置类,明确放行Actuator端点,同时保留其他接口的令牌认证逻辑:

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.web.SecurityFilterChain;

@Configuration
public class SecurityConfig {

    @Bean
    public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
        http
            // 放行所有Actuator端点
            .authorizeHttpRequests(auth -> auth
                .requestMatchers("/actuator/**").permitAll()
                // 其他所有请求仍需令牌认证
                .anyRequest().authenticated()
            )
            // 保留你原有的令牌认证配置(比如JWT、OAuth2等)
            .oauth2ResourceServer(oauth2 -> oauth2.jwt()); // 示例为JWT认证,根据实际情况替换

        return http.build();
    }
}

方案3:细粒度控制(仅放行指定Actuator端点)

如果不想开放所有端点,只放行特定的(比如健康检查、指标),可以修改requestMatchers的路径:

.requestMatchers("/actuator/health/**", "/actuator/metrics/**").permitAll()

生产环境安全建议

直接开放所有Actuator端点存在安全风险,建议:

  • 仅放行必要的端点(如health、metrics)
  • 结合IP白名单限制访问来源,例如在配置类中添加:
    .requestMatchers("/actuator/**").hasIpAddress("127.0.0.1", "你的服务器IP")
    

内容的提问来源于stack exchange,提问作者Ballazx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 15:54:58