生产环境关闭 swagger

本文详细介绍了如何在生产环境中禁用Swagger,防止API接口暴露,通过环境配置文件及代码控制Swagger的启用状态,确保应用安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#生产环境需要关闭 swagger 防止接口暴露

1,启动判断写在相应的环境配置文件中,根据条件判断是否启动 swagger :
添加配置项:swagger.is.enable

#是否激活 swagger true or false
swagger.is.enable=true

2,代码取值,设置是否加载 swagger:

@Value("${swagger.is.enable}")
private boolean swagger_is_enable;

@Bean
public Docket createRestApi() {

return new Docket(DocumentationType.SWAGGER_2)
    .enable(swagger_is_enable)
    .apiInfo(apiInfo()).select()
    // 扫描指定包中的swagger注解
    .apis(RequestHandlerSelectors.basePackage("springboot_druid_demo.controller"))
    .paths(PathSelectors.any())
    .build()
    .pathMapping("/");
}

è¿éåå¾çæè¿°

3,效果展示:

è¿éåå¾çæè¿°
 

 

转载自>>https://blog.csdn.net/u012946310/article/details/82379429

### 解决方案 当遇到 `curl http://localhost:8080/jeecg-boot/doc.html` 访问返回权限不足的问题时,通常是因为应用程序的安全配置阻止了未授权的访问。为了使 Swagger 接口文档能够被正常访问,可以考虑以下几个方面: #### 1. 修改安全配置文件 如果项目基于 Spring Security 进行了保护,则可以在项目的 security 配置类中添加特定路径的放行规则。例如,在 Java 类中通过重写 WebSecurityConfigurerAdapter 的 configure 方法来实现[^1]: ```java @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers("/doc.html", "/webjars/**", "/v2/api-docs", "/swagger-resources/**").permitAll() // 放行 swagger ui 所需请求 .anyRequest().authenticated(); // 其他所有请求都需要认证 } ``` #### 2. 调整 application.properties 或者 application.yml 文件设置 对于某些框架,默认情况下可能会开启全局 CSRF(Cross-Site Request Forgery)防护机制,这也会阻碍 API 文档页面加载成功。可以通过修改应用配置文件禁用CSRF检查: ```yaml spring: mvc: pathmatch: matching-strategy: ant_path_matcher security: csrf: enabled: false ``` 请注意,关闭CSRF防御措施可能带来一定的安全隐患,因此只建议在开发环境中这样做。 #### 3. 使用正确的 URL 格式 确保使用的 curl 命令格式正确无误。完整的命令应该是这样写的: ```bash curl "http://localhost:8080/jeecg-boot/doc.html" ``` 而不是像提问中那样书写成多个部分拼接的形式。 以上方法可以帮助解决因权限问题而导致无法访问 Swagger UI 页面的情况。不过具体操作还需根据实际应用场景和个人需求做出适当调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值