[
https://issues.apache.org/jira/browse/HTTPCLIENT-2248?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17632700#comment-17632700
]
Oleg Kalnichevski commented on HTTPCLIENT-2248:
-----------------------------------------------
[~thc202] Is there any evidence this is a problem with the client and not
network or the proxy? What proxy are using?
Oleg
> Async HTTP/2 with SOCKS and HTTPS fails
> ---------------------------------------
>
> Key: HTTPCLIENT-2248
> URL: https://issues.apache.org/jira/browse/HTTPCLIENT-2248
> Project: HttpComponents HttpClient
> Issue Type: Bug
> Components: HttpClient (async)
> Affects Versions: 5.2
> Reporter: Ricardo Pereira
> Priority: Major
>
> Running the following:
> {code:java}
> try (CloseableHttpAsyncClient httpclient =
> HttpAsyncClients.customHttp2()
> .setIOReactorConfig(
> IOReactorConfig.custom()
> .setSocksProxyAddress(new
> InetSocketAddress("127.0.0.1", 9150))
> .build())
> .build()) {
> httpclient.start();
> final HttpHost target = new HttpHost("https", "nghttp2.org");
> final SimpleHttpRequest request =
>
> SimpleRequestBuilder.get().setHttpHost(target).setPath("/httpbin/ip").build();
> System.out.println("Executing request " + request);
> final Future<SimpleHttpResponse> future =
> httpclient.execute(
> SimpleRequestProducer.create(request),
> SimpleResponseConsumer.create(),
> new FutureCallback<SimpleHttpResponse>() {
> @Override
> public void completed(final SimpleHttpResponse
> response) {
> System.out.println(request + "->" + new
> StatusLine(response));
> System.out.println(response.getBody());
> }
> @Override
> public void failed(final Exception ex) {
> System.out.println(request + "->" + ex);
> }
> @Override
> public void cancelled() {
> System.out.println(request + " cancelled");
> }
> });
> future.get();
> }
> {code}
> Results in:
> {noformat}
> Executing request GET https://nghttp2.org/httpbin/ip
> GET https://nghttp2.org/httpbin/ip->javax.net.ssl.SSLHandshakeException: TLS
> handshake failed
> Exception in thread "main" java.util.concurrent.ExecutionException:
> javax.net.ssl.SSLHandshakeException: TLS handshake failed
> at
> org.apache.hc.core5.concurrent.BasicFuture.getResult(BasicFuture.java:72)
> at org.apache.hc.core5.concurrent.BasicFuture.get(BasicFuture.java:85)
> at
> org.apache.hc.client5.http.examples.AsyncH2Socks.main(AsyncH2Socks.java:77)
> Caused by: javax.net.ssl.SSLHandshakeException: TLS handshake failed
> at
> org.apache.hc.core5.reactor.ssl.SSLIOSession.updateEventMask(SSLIOSession.java:454)
> at
> org.apache.hc.core5.reactor.ssl.SSLIOSession.setEventMask(SSLIOSession.java:791)
> at
> org.apache.hc.core5.reactor.SocksProxyProtocolHandler.inputReady(SocksProxyProtocolHandler.java:242)
> at
> org.apache.hc.core5.reactor.ssl.SSLIOSession.decryptData(SSLIOSession.java:624)
> at
> org.apache.hc.core5.reactor.ssl.SSLIOSession.access$200(SSLIOSession.java:74)
> at
> org.apache.hc.core5.reactor.ssl.SSLIOSession$1.inputReady(SSLIOSession.java:202)
> at
> org.apache.hc.core5.reactor.InternalDataChannel.onIOEvent(InternalDataChannel.java:142)
> at
> org.apache.hc.core5.reactor.InternalChannel.handleIOEvent(InternalChannel.java:51)
> at
> org.apache.hc.core5.reactor.SingleCoreIOReactor.processEvents(SingleCoreIOReactor.java:178)
> at
> org.apache.hc.core5.reactor.SingleCoreIOReactor.doExecute(SingleCoreIOReactor.java:127)
> at
> org.apache.hc.core5.reactor.AbstractSingleCoreIOReactor.execute(AbstractSingleCoreIOReactor.java:86)
> at
> org.apache.hc.core5.reactor.IOReactorWorker.run(IOReactorWorker.java:44)
> at java.base/java.lang.Thread.run(Thread.java:829)
> {noformat}
> If the scheme is changed to HTTP it succeeds:
> {noformat}
> Executing request GET http://nghttp2.org/httpbin/ip
> GET http://nghttp2.org/httpbin/ip->HTTP/2.0 200 OK
> SimpleBody{content length=32, content type=application/json}
> {noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]