有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

通过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) 个答案