前提CA证书已经导入到jdk证书管理器!!!
解决方法
如果您使用 1.8.0_51 和 1.8.0_60 之间的 Oracle JDK,则通过 IP 地址而不是主机名进行连接时会出现问题。如果使用 IP 地址,则还必须在证书的主题备用名称中提及该地址。根据Mulesoft 支持的说法,解决方法是将 JVM 参数“jdk.tls.trustNameService”设置为 true - 从而对 IP 地址进行反向名称查找。
经测试可用的修改方式
两种修改方式
1. 服务已安装
-
打开Tomcat文件目录中的bin目录,双击打开tomcat*.exe,如下图
-
选中上面Java选项
-
直接修改输入框前面追加-Djdk.tls.trustNameService=true,然后点击‘应用’按钮,即可完成修改
-
启动Tomcat服务后,在日志中会打印出,修改后的jvm options,如下图
-
出现上面日志输出,则表示修改成功!
2. 服务未安装
得到一个安装即是修改后的内存值,适用于需要经常安装部署的人员。
适用前提:未安装Tomcat服务!!!!!
-
修改Service.bat文件
找到下面语句:--JvmOptions "-Dcatalina.home=%CATALINA_HOME%;-Dcatalina.base=%CATALINA_BASE%;-D%ENDORSED_PROP%=%CATALINA_HOME%\endorsed;-Djava.io.tmpdir=%CATALINA_BASE%\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties;%JvmArgs%" ^
-
直接修改JvmOptions值
--JvmOptions "-Djdk.tls.trustNameService=true;-Dcatalina.home=%CATALINA_HOME%;-Dcatalina.base=%CATALINA_BASE%;-D%ENDORSED_PROP%=%CATALINA_HOME%\endorsed;-Djava.io.tmpdir=%CATALINA_BASE%\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties;%JvmArgs%" ^
-
安装Tomcat服务,bin目录下执行以下命令行
service install
-
安装完成打开tomcat*.exe,查看Java选项,如下图,则表示修改成功
结束!!!!!
-----------我是分割线---------------------------------------------------------------------------------------------文章来源:https://www.toymoban.com/news/detail-789756.html
补充说明:如果添加-Djdk.tls.trustNameService=true;无效,改用-Dcom.sun.jndi.ldap.object.disableEndpointIdentification=true;文章来源地址https://www.toymoban.com/news/detail-789756.html
到了这里,关于java.security.cert.CertificateException: No subject alternative names matching IP address **** found的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!