嗨,我在调用api时发现了下面的异常
xyz.stg.myweb.com/api/AuthorizedUser?username=admin&password=admin java.security.cert.CertificateException:非法指定域名
当使用泽西从服务器获得响应时。当我收到邮递员的回复时一切都很好。
为什么它是非法域名,浏览器是否拒绝打开这个。
如果我的域名不包含下划线,则此异常不会上升。这是域名下划线的问题吗?
发布于 2018-01-25 14:11:40
以防有人再看到这个问题。此问题是由一个旧的jdk引起的,它认为下划线作为子域名无效,在以后的版本中,该名称已经从jdk中删除。因此,简单地说,升级jdk版本将解决这个问题。
发布于 2019-01-10 16:14:18
如果有人再次看到此问题而不想更改jdk版本,则可以禁用SSL主机名验证(这不是好的解决方案,但有时无法避免这种情况):
HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
public boolean verify(String hostname, SSLSession session) {
return true;
}
});发布于 2020-09-29 07:40:40
我也有同样的问题,无法更新jdk,也不希望禁用ssl主机名验证。将名字中的下划线字符改为破折号('-‘而不是'_')非常有效。显然,破折号和下划线的评估是相同的。
https://stackoverflow.com/questions/47865499
复制相似问题