weblogic报错:
Hostname verification failed: HostnameVerifier=weblogic.security.utils.SSLWLSHostnameVerifier, hostname=**.**.**.**.**
weblogic发送https请求报:org.springframework.web.client.ResourceAccessException:
I/O error on POST request for "https:xxxxxxxxxxxxxxxxxxxxxxx":
Hostname verification failed: HostnameVerifier=weblogic.security.utils.SSLWLSHostnameVerifier,
hostname=agent.yrmpay.com.;
nested exception is javax.net.ssl.SSLKeyException: Hostname verification failed: HostnameVerifier=weblogic.security.utils.SSLWLSHostnameVerifier, hostname=agent.yrmpay.com.
原因
默认情况下,当 WebLogic Server 实例充当 SSL 客户端角色(它会尝试通过 SSL 连接到其他服务器或应用程序)时,它会验证 SSL 服务器在数字证书中返回的主机名是否与用于连接 SSL 服务器的 URL 主机名相匹配。如果主机名不匹配,则删除此连接。
解决办法:
方法1:找到weblogic的启动脚本:我的是startWebLogic.sh 然后在脚本文件里加入一条命令:
windows环境
set JAVA_OPTIONS=%JAVA_OPTIONS% -Dweblogic.security.SSL.ignoreHostnameVerification=true
linux环境
#SSLWLSHostnameVerifier
JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.security.SSL.ignoreHostnameVerification=true"
export JAVA_OPTIONS
重启解决。
方法2:
-Dweblogic.security.SSL.hostnameVerifier=examples.security.sslclient.NulledHostnameVerifier
用此设置更改主机名验证,类examples.security.sslclient.NulledHostnameVerifier是weblogic的一个实现,用于取消主机名验证;另可以指定自定义主机名验证器类名,该类必须实现weblogic.security.SSL.HostnameVerifier 接口。
方法3.
设置布署主机的SSL选项主机认证为无。(这可能会导致安全问题)