weblogic+java后台调用https接口报错记录

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=XXXX.;
nested exception is javax.net.ssl.SSLKeyException: Hostname verification failed: HostnameVerifier=weblogic.security.utils.SSLWLSHostnameVerifier, hostname=XXXX.

原因是默认情况下,当 WebLogic Server 实例充当 SSL 客户端角色(它会尝试通过 SSL 连接到其他服务器或应用程序)时,它会验证 SSL 服务器在数字证书中返回的主机名是否与用于连接 SSL 服务器的 URL 主机名相匹配。如果主机名不匹配,则删除此连接。

网上找到解决方式:

找到weblogic的启动脚本:我的是startWebLogic.sh 然后在脚本文件里加入一条命令:

set JAVA_OPTIONS=%JAVA_OPTIONS% -Dweblogic.security.SSL.ignoreHostnameVerification=true

重启解决。

网上搜到还有两种方法:
2.-Dweblogic.security.SSL.hostnameVerifier=examples.security.sslclient.NulledHostnameVerifier
用此设置更改主机名验证,类examples.security.sslclient.NulledHostnameVerifier是weblogic的一个实现,用于取消主机名验证;另可以指定自定义主机名验证器类名,该类必须实现weblogic.security.SSL.HostnameVerifier 接口。

3.设置布署主机的SSL选项主机认证为无。(这可能会导致安全问题)
4.添加ssl证书认证
这几种方法我没试,不过应该也可以,都是一样的目的。

参考文章链接:https://blog.csdn.net/weixin_42203391/article/details/103083678

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值