首先我们要知道什么是SSL?
百度百科是这样解释的:
SSL(Secure Sockets Layer 安全套接字协议),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层与应用层之间对网络连接进行加密。
针对访问MySQL的url的路径,当useSSL=false的时候是不进行安全认证,对于学习数据访问层和业务逻辑层交互的小白是很友好的。
像下面就是笔者曾踩的坑
Establishing SSL connection without server’s identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn’t set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to ‘false’. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
大致意思是:
不建议在没有服务器身份验证的情况下建立SSL连接。根据MySQL5.5.45+,5.6.26+和5.7.6+要求,默认情况下必须建立SSL连接。为了符合不使用SSL的现有应用程序,验证服务器证书属性被设置为“false”。需要通过设置usseSSL=false来禁用SSL,或者将usseSSL=设置为true,并为服务器证书验证提供信任库。
我记得之气使用数据库的时候,没有出现这种让设置SSL的情况,后来查了一下官方文档,5.7之前useSSL默认是false,因此我们不需要设置。5.7以后useSSL需要手动设置属性。
那么SSL提供哪些服务呢?
总得来说,取消默认属性,让我们重新认识到SSL作用也着实是一件美事,求知探索路上任重道远,顺与诸君共勉。