我把前后端服务都部署好,正准备运行的时候这时候出现一个错误,我在开发者工具中查看返回的主要错误信息是Could not get JDBC Connection; nested exception is java.sql.SQLException: Connections could not be acquired from the underlying database!
我在网上查阅了相关信息,大部博客的解释是密码错误,或者相关配置没有正确配置,我检查了很多边但是依然出错,然后我去tomcat日志文件查看错误,tomcat给我报出的错误是No appropriate protocol,翻译就是:javax.net.ssl.ssl握手异常:没有合适的协议。
所以之前的错误(Connections could not be acquired from the underlying database!)这个应该是通用错误,很多错误都会导致浏览器返回这个信息,要不是看tomcat可能我还蒙在鼓里,不知道如何具体的错误内容是什么,这里也提醒大家遇到错误第一步先看日志文件,这里应该jdk版本的问题,我是直接用yum安装的,这个jdk版本太高支持了一些安全协议。
解决办法1:修改
jre/lib/security/java.security
中的disabledAlgorithms
,删除SSLv3, TLSv1, TLSv1.1
,然后重启应用即可。在vim下,可以使用/disabledAlgorithms
快速查找。尽量把
解决办法2:如果上一个方法修改依然报错,在原来修改的基础上再修改一个配置
修改jdk配置文件
/etc/crypto-policies/back-ends/java.config
,类似上面方法一样,删除`SSLv3, TLSv1, TLSv1.1``,保存重启应用。
解决办法3:如果以上三个办法都无效,那就用最暴力的方法,直接重新安装jdk。