我已经使用Open Liberty创建了一个Docker镜像,并将我的自定义应用程序作为Web应用服务托管在Azure中。除了我尝试访问托管在Azure (https://mycontrollerurl.azurewebsites.net/...)上的另一个控制器之外,一切都运行得很好。我确实从日志中看到一个错误:-
错误CWPKI0022E: SSL握手失败:从目标主机发送了具有SubjectDN CN=*.azurewebsites.net的签名者。可能需要将签名者添加到位于SSL配置别名defaultSSLConfig中的本地信任存储/opt/ol/wlp/output/defaultServer/resources/security/key.p12,。来自SSL握手异常的扩展错误消息是: PKIX路径构建失败: java.security.cert.CertPathBuilderException: PKIXCertPathBuilderImpl无法构建有效的根。内部原因是: 2019-04-27T15:44:49.047295297Z java.security.cert.CertPathValidatorException: CN=Baltimore CyberTrust CertPath,OU=CyberTrust,O=Baltimore,C=IE颁发的证书不受信任;内部原因是:
有人可以帮助我如何创建SERVER.xml文件以包含证书和我需要执行的任何其他步骤吗?我只有两天大的自由新手,并试图为我的开发团队解决这个问题。你能让我知道如何解决这个CERT问题吗?
更新:问题已解决(感谢Bruce指出我):- 1.我必须下载azurewebsite证书(从浏览器下载就可以了)你可以从这里获得所有步骤2.将Azurewebsites证书文件保存到与我的DOCKERFILE相同的目录中。3.修改我的DOCKERFILE如下:-+ FROM open-liberty:WebProfile8copy --chown=1001:0 server.xml /config/ COPY --chown=1001:0 ancConnector-Liberty.war /config/dropins/ #添加Azure证书以启用HTTPS连接。COPY --chown=1001:0 ++++ opt/ol/wlp/output/defaultServer/resources/security/ WORKDIR /opt/ol/wlp/output/defaultServer/resources/security/ RUN keytool -importcert -file azurewebsites.cer -alias -keystore key.jks -storepass -storepass -storetype jks` `-file
这就是全部,建立图像,我们就可以开始了!现在一切都正常了!希望它能在未来帮助到某些人。
发布于 2019-04-28 03:28:10
您需要将来自azure的签名者证书添加到Liberty的信任库文件中,以便它将“信任”该站点。流程如下所示:
https://stackoverflow.com/questions/55882861
复制相似问题