听说你在生产环境下还没关闭Swagger2,算你猛

简介: Swagger用于开发期间前端和后端API上的交流使用,请注意是开发期间也就是开发环境,测试环境也可以使用,但是生产环境就不需要使用了,因为生产环境前端已经和后端打通了就不需要在使用Swagger了,如果生产环境没有关闭Swagger有啥后果?

云栖号资讯:【点击查看更多行业资讯
在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!

Swagger用于开发期间前端和后端API上的交流使用,请注意是开发期间也就是开发环境,测试环境也可以使用,但是生产环境就不需要使用了,因为生产环境前端已经和后端打通了就不需要在使用Swagger了,如果生产环境没有关闭Swagger有啥后果?这要看你写的程序的安全性了,一般swagger都是用于公司内部项目,一般安全防护都不高(稍微有点安全性就是加个密码),如果swagger暴露出来只要知道这个地址就能访问的话,那么你的api彻彻底底的暴露出去了,对于一些人能够从api中能够看出一些端倪,从而危害生产环境程序,还有一般swagger中都有一些为了便于开发调试的一些小后门比如一些mock接口,这些接口暴露出去危害非常大。

关闭Swagger有两种方式:

  • 方式一:在Swagger2Config上使用@Profile注解标识,@Profile({"dev","test"})表示在dev和test环境才能访问swagger-ui.html,prod环境下访问不了
  • 方式二:在Swagger2Config上使用@ ConditionalOnProperty注解,@ConditionalOnProperty(name = "swagger.enable", havingValue = "true")表示配置文件中如果swagger.enable =true表示开启。所以只需要在开发环境的配置文件配置为true,生产环境配置为false即可。
@Configuration
@EnableSwagger2
//@Profile({"dev","test"})
@ConditionalOnProperty(name = "swagger.enable", havingValue = "true")
public class Swagger2Config {

}

这两种方式我一般使用第一种方式,因为第二种方式还要在每个环境文件中去配置,还要维护此值;Swagger一般用于开发和测试环境,所以直接限制Swagger启用的环境为dev和test即可,这样也不需要再维护配置文件了。

InteliJ IDEA 2019.03.03最新激活jetbrains-agent.jar

1.将jetbrains-agent.jar也放到InteliJ IDEA中的bin目录下。

0EDF377A_8020_44f8_BD68_775595600E87

2.配置VM Options,通过Help菜单 -> Edit Custom VM Options。

624E23CC_82F0_4ce0_ACD0_7CA54DFD3370

在文件中最后一行添加如下配置,如果是Windows电脑就写你自己电脑jetbrains-agent.jar实际放入的绝对路径,如 -javaagent:D:\xxxjetbrains-agent.jar。

FE17BF34_4AF5_4611_B535_0E6F0649BE4D

184FBCCC_B25D_420f_A57F_16780E5DE932

也可以直接编辑idea.vmoptions文件增加-javaagent配置,不过建议使用上面菜单的配置方式。

F3A10BCE_52CE_4c61_92F7_6509D3C32A6E

3.重启IDEA,选择License Server, 输入最新的值为 http://fls.jetbrains-agent.com, 点击Test Connection 或者 Close即可。本方法亲测有效,已经使用了一段时间仍然有效。

10F88249_A45D_451f_8889_F4676C20CF35

【云栖号在线课堂】每天都有产品技术专家分享!
课程地址:https://yqh.aliyun.com/live

立即加入社群,与专家面对面,及时了解课程最新动态!
【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK

原文发布时间:2020-04-13
本文作者:Java实用技术
本文来自:“互联网架构师 微信公众号”,了解相关信息可以关注“互联网架构师

相关文章
|
存储 Java 数据库
几分钟带你快速了解Spring框架理论知识!
几分钟带你快速了解Spring框架理论知识!
|
10月前
|
消息中间件 安全 druid
GitHub昙花一现!《Spring Boot趣味实战课》神作开源几分钟被下架
今天给大家分享好书了:刘水镜老师的 《Spring Boot趣味实战课》,网上依旧是没有开源版本!小编会在文末附电子版免费下载方式。 刘水镜是谁? 十余年持续技术文章输出,CSDN博客专家。2020年《 Spring Boot趣味私房课》专栏上线,凭借风趣幽默、深入浅出的写作风格深受读者好评。 《Spring Boot趣味实战课》 内容丰富、趣味实战是本书的两大特色 涵盖 Spring MVC、MyBatis Plus、Spring DaJPA、Spring Security、Quartz等主流框架 整合MySQL. Druid、Redis、 RabbitMQ、Elastics
137 0
|
7月前
|
Java Spring 开发者
解锁 Spring Boot 自动化配置的黑科技:带你走进一键配置的高效开发新时代,再也不怕繁琐设置!
【8月更文挑战第31天】Spring Boot 的自动化配置机制极大简化了开发流程,使开发者能专注业务逻辑。通过 `@SpringBootApplication` 注解组合,特别是 `@EnableAutoConfiguration`,Spring Boot 可自动激活所需配置。例如,添加 JPA 依赖后,只需在 `application.properties` 配置数据库信息,即可自动完成 JPA 和数据源设置。这一机制基于多种条件注解(如 `@ConditionalOnClass`)实现智能配置。深入理解该机制有助于提升开发效率并更好地解决问题。
115 0
|
7月前
|
Dubbo Java Nacos
【实战攻略】破解Dubbo+Nacos+Spring Boot 3 Native打包后运行异常的终极秘籍——从零开始彻底攻克那些让你头疼不已的技术难题!
【8月更文挑战第15天】Nacos作为微服务注册与配置中心受到欢迎,但使用Dubbo+Nacos+Spring Boot 3进行GraalVM native打包后常遇运行异常。本文剖析此问题及其解决策略:确认GraalVM版本兼容性;配置反射列表以支持必要类和方法;采用静态代理替代动态代理;检查并调整配置文件;禁用不支持的功能;利用日志和GraalVM诊断工具定位问题;根据诊断结果调整GraalVM配置。通过系统排查方法,能有效解决此类问题,确保服务稳定运行。
172 0
|
7月前
|
关系型数据库 MySQL Java
“惊呆了!无需改动Nacos源码,轻松实现SGJDBC连接MySQL?这操作太秀了,速来围观,错过等哭!”
【8月更文挑战第7天】在使用Nacos进行服务治理时,常需连接MySQL存储数据。使用特定的SGJDBC驱动连接MySQL时,一般无需修改Nacos源码。需确保SGJDBC已添加至类路径,并在Nacos配置文件中指定使用SGJDBC的JDBC URL。示例中展示如何配置Nacos使用MySQL及SGJDBC,并在应用中通过Nacos API获取配置信息建立数据库连接,实现灵活集成不同JDBC驱动的目标。
195 0
|
10月前
|
SpringCloudAlibaba Java Nacos
前阿里P8甩我一份内部SpringCloud笔记手册,真香
SpringCloud Alibaba 因配置灵活、迭代高速、兼容性强,近几年在受到国内不少开发者的广泛关注。其中,Sentinel 作为服务治理开源组件相当出彩,可以帮助解决很多难题,比如:秒杀限流,消息削峰填谷,集群流量控制,实时熔断等。而作为国内的Spring爱好者,最最苦恼的莫过于操作性强的进阶干货太少了!
|
SQL 开发框架 JavaScript
GitHub开源几分钟被下架!神作《Spring Boot实战项目》竟昙花一现
阿嘴又来给大家分享好书了:韩帅(十三)老师的 《Spring Boot实战:从0开始动手搭建企业级项目》,网上没找见开源版本!小编会在文末附电子版免费下载方式。
|
前端开发 JavaScript 程序员
重学JavaWeb第三天(十一)
重学JavaWeb第三天(十一)
115 0
|
Java 开发者 容器
先到先学!Alibaba甩出第四次更新的JDK源码高级笔记(终极版)
作为Java开发者,面试肯定被问过多线程。对于它,大多数好兄弟面试前都是看看八股文背背面试题以为就OK了;殊不知现在的面试官都是针对一个点往深了问,你要是不懂其中原理,面试就挂了。可能你知道什么是进程什么是线程,但面试官要是问你进程之间是如何通讯的?ConcurrentHashMap 和 HashTable有什么区别?为什么wait和notify方法要在同步块代码中调用?你答不上来就只能等通知了。。。
|
Java 应用服务中间件 Linux
强势登场,不可拒绝的IDEA 中的热部署神器!
强势登场,不可拒绝的IDEA 中的热部署神器!
410 0
强势登场,不可拒绝的IDEA 中的热部署神器!