我有一些非常简单的代码从appengine项目中获取资源。此代码在另一个也在appengine中托管的项目中运行。
部署时,代码运行没有问题,但是当我使用dev服务器运行它时,我总是最终得到SSLHandshakeException:Peer未经过身份验证。
try {
URL url = new URL("https://host-name/path/to/stuff");
try {
InputStream inputStream = url.openStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader reader = new BufferedReader(inputStreamReader);
String line;
while((line=reader.readLine()) != null) {
//do stuff
}
} catch (IOException e) {
//I end up here
}
我已尝试使用https://www.google.com和其他人完全相同的代码,但没有问题。我还设置了一个本地https服务器,配置了相同的证书,代码按预期运行。使用浏览器打开网址也有效,Chrome报告证书没有问题。
我使用“仅SNI”作为我的域的服务模式,它是一个通配符DV证书。
有关问题的任何线索?