在路上

路上有惊慌,路上有理想

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  28 Posts :: 1 Stories :: 10 Comments :: 0 Trackbacks

集群后,受管appserver1,appserver2,appserver13,无法启动,报错如下:

<BEA-090504> <Certificate chain received from localhost - 127.0.0.1 failed hostname verification check. Certificate contained LENOVO-D01793DE but check expected localhost>

问题的原因:主机名验证不通过。在安装bea weblogic时,当时的主机名为 LENOVO-D01793DE,后进行了变更。而weblogic的服务器证书没有更新,还是老的主机名,所以始终不匹配。注:即使写 ip/localhost也没用,发送url时是附带主机名的。

方案1:更改notemanger.hosts文件,加入主机名和ip,结果还是不起作用。

方案2:在server的StartWeblogic.sh  java参数加入-Dweblogic.security.SSL.ignoreHostnameVerification=true

           在startNodeManager.sh java参数加入 -Dweblogic.security.SSL.hostnameVerifier=examples.security.sslclient.NulledHostnameVerifier

            结果还是不起作用

方案3:在keystore ssl的配置中,高级配置有一项客户端特性-->主机名验证 选为 ‘无’,结果测试通过,成功

下面是此项配置的说明,估计在java 参数里加入 -Dweblogic.security.SSL.HostnameVerifier=none 应该也可以

如果不愿意加,就在console里一个一个改吧

weblogic.security.SSL.HostnameVerifier

在 SSL 握手期间,主机名验证可确定 URL 中的主机名是否与服务器标识中的主机名相匹配;需要进行此验证以防止中间人攻击。
WebLogic Server 提供了基于证书的 HostnameVerifier 实现,默认情况下使用该实现,它用于验证 URL 主机名是否与服务器证书的 CN 字段值相匹配。
您可以使用管理控制台“SSL”选项卡之下的“高级选项”窗格,用自定义主机名验证器替换此默认的主机名验证器;这将影响在使用 WebLogic SSL API 的服务器上运行的 SSL 客户端的默认值。另外,通过诸如 HttpsURLConnectionSSLContext 的 WebLogic SSL API,可以显式设置自定义 HostnameVerifier。
posted on 2010-09-02 22:53 阮步兵 阅读(4205) 评论(1)  编辑  收藏 所属分类: Web Server

Feedback

# re: weblogic集群问题(1) 2011-10-27 19:02 小叶
亲爱的,把linux主机的host设置一下就可以了  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: