简介:Swagger-UI通常在开发过程中用于调试和文档生成,但在生产环境中,我们通常不希望暴露这些接口。本文将介绍如何在Spring Boot线上环境中彻底关闭Swagger-UI,以确保接口的安全性。
在Spring Boot项目中,Swagger-UI是一个常用的工具,用于生成API文档和进行接口测试。然而,在生产环境中,我们通常不希望暴露这些接口,因此需要关闭Swagger-UI。下面是在Spring Boot线上环境彻底关闭Swagger-UI的几种方法:
@EnableSwagger2注解,并将其排除出生产环境。例如:上述代码将启用Swagger-UI仅在开发环境和测试环境中。在生产环境中,Swagger-UI将被禁用。
@EnableSwagger2@Profile("dev,test")public class SwaggerConfig {// Swagger配置}
application.properties或application.yml文件中添加以下配置:上述配置将Swagger的文档路径设置为
springfox.documentation.swagger.v2.path=/null/**springfox.documentation.swagger.v2.enabled=false
/null/**,并且禁用了Swagger-UI。这样,即使Swagger注解被启用,也不会生成API文档或启动Swagger-UI。application.properties或application.yml文件中添加以下配置:上述配置将Swagger的端口号设置为0,这将使得Swagger-UI无法访问。请注意,这并不会关闭Swagger的文档生成功能,只是将Swagger-UI的访问端口设置为无效值。
springfox.documentation.swagger.v2.path=/null/**springfox.documentation.swagger.v2.port=0
上述配置将禁止对
location /swagger-ui/ {deny all;}
/swagger-ui/路径的访问,从而关闭了Swagger-UI。请根据您使用的安全网关或反向代理进行相应的配置。