当前位置: 首页 > 知识库问答 >
问题:

SSL连接握手Java 8不工作

澹台新知
2023-03-14

我有以下建立SSL连接的简单代码。

public static void main(String[] args) throws IOException {
    
    System.setProperty("javax.net.debug", "ALL");
    System.setProperty("java.net.useSystemProxies", "true");
    
    URL url = new URL("https://google.com");
    URLConnection con = url.openConnection();
    try (BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream()))) {
        String line = null;
        while ((line = br.readLine()) != null) {
            System.out.println(line);
        }
    }
}

如果我在Java8下运行这段代码,它就不起作用了。它以java.net.socketException:Connection Reset开始SSL握手时停止。

代理端口:8081

如果删除system.setproperty(“Java.net.usesystemproxies”,“true”);或将其设置为false,它也不能用于Java10。但是通过系统属性设置代理设置是不起作用的。

共有1个答案

孟增
2023-03-14

我认为Java8中的代理检测似乎不适合您。假设Java10的检测是正确的,尝试通过系统属性(针对HTTPS连接)配置代理。

System.setProperty("https.proxyHost", "<proxy host>");
System.setProperty("https.proxyPort", "<proxy port>");
 类似资料:
  • 堆栈:React,NGINX 1.14.0,GUnicorn,Django 2.2.8,Python 3.6.9 错误: 在浏览器:当React调用Django API(当然在请求头中有)时,大约30秒后在浏览器控制台出现CORS错误。 在浏览器控制台:CORS策略阻止从源“https://mydomain”访问“https://mydomain:8000/somethy/”处的XMLHttpRe

  • 最近,在使用HttpClient访问Java应用程序中的第三方服务(CURL服务)时,我遇到了如下问题: 我在JDK7中遇到了这个问题。通过对这一问题的研究,我提出了两点建议。 在JDK7TrustStore中添加该特定第三方的证书。[我试过了,但还是遇到了同样的问题] 使用JDK 8而不是JDK 7[我试过了,它对我有效] 单丹

  • 在这个基于Xcode7(beta)构建的应用程序中,TCP套接字连接(NSStream)失败,错误如下。 在info.plist中,我还包括了以下相关异常的ATS。 但在下面的委托中 -(void)stream:(NSStream*)stream HandleEvent:(NSStreamEvent)eventCode 我得到的事件代码为8,表示错误发生。具有上述描述。 验证错误:num=19:证

  • 99.110.244:443 2017/09/28 13:03:51[错误]34080#34080:*1062 SSL握手中的对等方关闭连接(104:由对等方重置连接),同时与上游进行SSL握手,客户端:10.210.0.81,服务器:webshop.domain.be,请求:“get/http/1.1”,上游:“https://10.1.10.61:443/,主机:”webshop.domain

  • 我最近从AWS ELB转到HAProxy。我正在负载平衡器(HAProxy 1.5dev19)上终止SSL。 自从切换以来,我一直在HAProxy日志中遇到一些SSL连接错误(占请求总数的5-10%)。有三种类型的错误重复:SSL握手期间连接关闭SSL握手期间超时SSL握手失败(这种情况很少发生) 我使用的是免费的StartSSL证书,所以我的第一个想法是一些主机在接受该证书时遇到了问题,我过去没

  • 问题内容: 有几个与此类似的问题,但没有一个解决这个特定的问题。如果有一个我错过了,请引导我找到相关的解决方案。 现在是我的问题。我用Java编写了一个测试SSL服务器: 我这样创建了密钥库: 当出现提示时,我将localhost作为键名。 然后编译(我使用的是Sun / Oracle JDK和JRE版本1.6.0_26): 然后我运行: 然后,我通过导航到https:// localhost:8