在调用api时发现以下异常
https://abc_xyz.stg.myweb.com/api/AuthorizedUser?username=admin&password=admin
java.security.cert.CertificateException:非法的给定域名
当得到响应从服务器使用泽西岛。一切都很好,当我得到响应从 Postman 。
为什么是非法域名,浏览器是否不拒绝打开这个。
如果我的域名不包含下划线,那么这个异常就不会出现。这是域名中的下划线问题吗?
在调用api时发现以下异常
https://abc_xyz.stg.myweb.com/api/AuthorizedUser?username=admin&password=admin
java.security.cert.CertificateException:非法的给定域名
当得到响应从服务器使用泽西岛。一切都很好,当我得到响应从 Postman 。
为什么是非法域名,浏览器是否不拒绝打开这个。
如果我的域名不包含下划线,那么这个异常就不会出现。这是域名中的下划线问题吗?
3条答案
按热度按时间svgewumm1#
如果任何人再次看到这个问题。这个问题是由旧的jdk认为下划线作为子域名是无效的,这在后来的版本中已经从jdk中删除。所以简而言之,升级jdk版本将解决这个问题。
balp4ylt2#
如果有人再次看到此问题,并且不想更改jdk版本,则可以禁用SSL主机名验证(这不是一个好的解决方案,但有时无法避免此问题..):
tf7tbtn23#
我也遇到了同样的问题,无法更新jdk,也不想禁用ssl主机名验证。将名称中的下划线字符改为破折号(“-”而不是“_”)效果很好。显然破折号和下划线的求值是一样的。