通过https连接到专用ip时出现java“不存在主题替代名称”错误
我有一个java应用程序作为Azure应用程序服务运行。我们希望此应用程序能够连接到运行在虚拟机上的apache服务器,该虚拟机与java应用程序集成在同一个vnet中。应用程序可以通过其公共域与此apache服务器进行良好通信。但是,当更改为专用ip时(例如https:///path)我得到以下错误:
[INFO] org.springframework.web.client.ResourceAccessException: I/O error on POST request for "https://<my private ip>/path": No subject alternative names present; nested exception is javax.net.ssl.SSLHandshakeException: No subject alternative names present
我自己也看过,我知道这个问题是因为Java不允许它连接,因为它没有使用ssl证书中列出的域
关于如何在不更改证书或不更改java代码的情况下解决此问题,有什么建议吗?(由于工作原因,我无法修改java应用程序本身的代码)
我已尝试添加属性-Dcom。太阳jndi。ldap。对象disableEndpointIdentification=true如java应用程序的启动命令所建议的here,如下所示:
-Dcom.sun.jndi.ldap.object.disableEndpointIdentification=true
错误仍在发生。一位同事也建议使用hosts文件,但我认为这对于Azure web应用程序是不可能的
希望这是清楚的。谢谢
共 (0) 个答案