You are viewing a plain text version of this content. The canonical link for it is here.
Posted to httpclient-users@hc.apache.org by Rémy Amouroux <re...@gmail.com> on 2018/02/16 15:25:58 UTC

Problem H2ConnectionException: Frame size exceeds maximum using httpclient5-5.0-beta1

Hi all

I need to create a https client able to connect to HTTP2 enabled web sites.

I tried to access a known HTTP2 web site (https://korben.info <https://korben.info/>) as a test using one of the HTTP2 example provided in https://hc.apache.org/httpcomponents-client-5.0.x/examples-async.html <https://hc.apache.org/httpcomponents-client-5.0.x/examples-async.html>

The example is working when negociating protocols because the website is also accessible using HTTP 1.1, but when I try to force the use of HTTP2 via the method setVersionPolicy (parameter HttpVersionPolicy.FORCE_HTTP_2) of the HttpAsyncClientBuilder class, I finally have the following problem : 
Exception in thread "main" java.util.concurrent.ExecutionException: org.apache.hc.core5.http2.H2ConnectionException: Frame size exceeds maximum
	at org.apache.hc.core5.concurrent.BasicFuture.getResult(BasicFuture.java:71)
	at org.apache.hc.core5.concurrent.BasicFuture.get(BasicFuture.java:84)
	at bcc.httpTestClient.hc.testHTTP2Korben.main(testHTTP2Korben.java:110)
Caused by: org.apache.hc.core5.http2.H2ConnectionException: Frame size exceeds maximum
	at org.apache.hc.core5.http2.impl.nio.FrameInputBuffer.read(FrameInputBuffer.java:101)
	at org.apache.hc.core5.http2.impl.nio.AbstractHttp2StreamMultiplexer.onInput(AbstractHttp2StreamMultiplexer.java:415)
	at org.apache.hc.core5.http2.impl.nio.AbstractHttp2IOEventHandler.inputReady(AbstractHttp2IOEventHandler.java:63)
	at org.apache.hc.core5.http2.impl.nio.ClientHttp2IOEventHandler.inputReady(ClientHttp2IOEventHandler.java:38)
	at org.apache.hc.core5.reactor.InternalDataChannel.onIOEvent(InternalDataChannel.java:117)
	at org.apache.hc.core5.reactor.InternalChannel.handleIOEvent(InternalChannel.java:50)
	at org.apache.hc.core5.reactor.SingleCoreIOReactor.processEvents(SingleCoreIOReactor.java:173)
	at org.apache.hc.core5.reactor.SingleCoreIOReactor.doExecute(SingleCoreIOReactor.java:123)
	at org.apache.hc.core5.reactor.AbstractSingleCoreIOReactor.execute(AbstractSingleCoreIOReactor.java:80)
	at org.apache.hc.core5.reactor.IOReactorWorker.run(IOReactorWorker.java:44)
	at java.lang.Thread.run(Thread.java:745)

Any idea about a solution ?

Regards
RemyA

PS: source code
package bcc.httpTestClient.hc;

import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.concurrent.Future;

import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLEngine;
import javax.net.ssl.SSLSession;

import org.apache.hc.client5.http.async.methods.SimpleHttpRequest;
import org.apache.hc.client5.http.async.methods.SimpleHttpResponse;
import org.apache.hc.client5.http.async.methods.SimpleRequestProducer;
import org.apache.hc.client5.http.async.methods.SimpleResponseConsumer;
import org.apache.hc.client5.http.impl.async.CloseableHttpAsyncClient;
import org.apache.hc.client5.http.impl.async.HttpAsyncClients;
import org.apache.hc.client5.http.impl.nio.PoolingAsyncClientConnectionManager;
import org.apache.hc.client5.http.impl.nio.PoolingAsyncClientConnectionManagerBuilder;
import org.apache.hc.client5.http.protocol.HttpClientContext;
import org.apache.hc.client5.http.ssl.H2TlsStrategy;
import org.apache.hc.core5.concurrent.FutureCallback;
import org.apache.hc.core5.http.HttpHeaders;
import org.apache.hc.core5.http.HttpHost;
import org.apache.hc.core5.http.nio.ssl.TlsStrategy;
import org.apache.hc.core5.http2.HttpVersionPolicy;
import org.apache.hc.core5.io.ShutdownType;
import org.apache.hc.core5.reactor.ssl.TlsDetails;
import org.apache.hc.core5.ssl.SSLContexts;
import org.apache.hc.core5.ssl.TrustStrategy;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


public class testHTTP2Korben {
	final static Logger logger = LoggerFactory.getLogger(testHTTP2Korben.class);
    public final static void main(final String[] args) throws Exception {
        // Trust standard CA and those trusted by our custom strategy
        final SSLContext sslcontext = SSLContexts.custom()
                .loadTrustMaterial(new TrustStrategy() {

                    @Override
                    public boolean isTrusted(
                            final X509Certificate[] chain,
                            final String authType) throws CertificateException {
                        final X509Certificate cert = chain[0];
                        return true;
                    }

                })
                .build();
        final TlsStrategy tlsStrategy = new H2TlsStrategy(
                sslcontext,
                H2TlsStrategy.getDefaultHostnameVerifier()) {

            // IMPORTANT uncomment the following method when running Java 9 or older
            // in order to avoid the illegal reflective access operation warning
            @Override
            protected TlsDetails createTlsDetails(final SSLEngine sslEngine) {
               return new TlsDetails(sslEngine.getSession(), sslEngine.getSession().getProtocol());
            }

        };
        final PoolingAsyncClientConnectionManager cm = PoolingAsyncClientConnectionManagerBuilder.create()
                .setTlsStrategy(tlsStrategy)
                .build();
        try (CloseableHttpAsyncClient client = HttpAsyncClients.custom()
                .setVersionPolicy(HttpVersionPolicy.FORCE_HTTP_2)
                //.setVersionPolicy(HttpVersionPolicy.NEGOTIATE)
                .setConnectionManager(cm)
 //               .setProxy(new HttpHost("localhost", 10050))
                .build()) {

            client.start();

            final HttpHost target = new HttpHost("korben.info", 443, "https");
            final String requestUri = "/";
            final HttpClientContext clientContext = HttpClientContext.create();

            final SimpleHttpRequest request = SimpleHttpRequest.get(target, requestUri);
            request.setHeader(HttpHeaders.USER_AGENT, "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:58.0) Gecko/20100101 Firefox/58.0");
            request.setHeader(HttpHeaders.ACCEPT, "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
            request.setHeader(HttpHeaders.ACCEPT_LANGUAGE, "fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3");
            final Future<SimpleHttpResponse> future = client.execute(
                    SimpleRequestProducer.create(request),
                    SimpleResponseConsumer.create(),
                    clientContext,
                    new FutureCallback<SimpleHttpResponse>() {

                        @Override
                        public void completed(final SimpleHttpResponse response) {
                            System.out.println(requestUri + "->" + response.getCode());
                            System.out.println(response.getBody());
                            final SSLSession sslSession = clientContext.getSSLSession();
                            if (sslSession != null) {
                                System.out.println("SSL protocol " + sslSession.getProtocol());
                                System.out.println("SSL cipher suite " + sslSession.getCipherSuite());
                            }
                        }

                        @Override
                        public void failed(final Exception ex) {
                            System.out.println(requestUri + "->" + ex);
                        }

                        @Override
                        public void cancelled() {
                            System.out.println(requestUri + " cancelled");
                        }

                    });
            future.get();

            System.out.println("Shutting down");
            client.shutdown(ShutdownType.GRACEFUL);
        }
    }
}



Re: Problem H2ConnectionException: Frame size exceeds maximum using httpclient5-5.0-beta1

Posted by Oleg Kalnichevski <ol...@apache.org>.
On Fri, 2018-02-16 at 16:25 +0100, Rémy Amouroux wrote:
> Hi all
> 
> I need to create a https client able to connect to HTTP2 enabled web
> sites.
> 
> I tried to access a known HTTP2 web site (https://korben.info
> <https://korben.info/>) as a test using one of the HTTP2 example
> provided in https://hc.apache.org/httpcomponents-client-
> 5.0.x/examples-async.html <https://hc.apache.org/httpcomponents-
> client-5.0.x/examples-async.html>
> 
> The example is working when negociating protocols because the website
> is also accessible using HTTP 1.1, but when I try to force the use of
> HTTP2 via the method setVersionPolicy (parameter
> HttpVersionPolicy.FORCE_HTTP_2) of the HttpAsyncClientBuilder class,
> I finally have the following problem : 
> Exception in thread "main" java.util.concurrent.ExecutionException:
> org.apache.hc.core5.http2.H2ConnectionException: Frame size exceeds
> maximum
> 

Some servers refuse to use HTTP/2 even when the client sends a
perfectly valid HTTP/2 request unless HTTP/2 has been negotiated
through ALPN handshake. Those servers send back a HTTP/1.1 response to
a HTTP/2 request often causing the client to choke on the response. 

ALPN is supported by Oracle Java as of version 9 only.

With Java 9 AsyncClientTlsAlpn [1] example works for me. See the log
[2] below

Oleg

[1] http://hc.apache.org/httpcomponents-client-5.0.x/httpclient5/exampl
es/org/apache/hc/client5/http/examples/AsyncClientTlsAlpn.java


[2]
2018-02-16 17:29:51,316 DEBUG [main][org.apache.hc.client5.http.impl.async.InternalHttpAsyncClient] ex-00000001: preparing request execution
2018-02-16 17:29:51,323 DEBUG [main][org.apache.hc.client5.http.protocol.RequestAddCookies] CookieSpec selected: default
2018-02-16 17:29:51,328 DEBUG [main][org.apache.hc.client5.http.protocol.RequestAuthCache] Auth cache not set in the context
2018-02-16 17:29:51,328 DEBUG [main][org.apache.hc.client5.http.impl.async.AsyncProtocolExec] Target auth state: UNCHALLENGED
2018-02-16 17:29:51,329 DEBUG [main][org.apache.hc.client5.http.impl.async.AsyncProtocolExec] Proxy auth state: UNCHALLENGED
2018-02-16 17:29:51,330 DEBUG [main][org.apache.hc.client5.http.impl.async.AsyncConnectExec] ex-00000001: acquiring connection with route {s}->https://korben.info:443
2018-02-16 17:29:51,331 DEBUG [main][org.apache.hc.client5.http.impl.nio.PoolingAsyncClientConnectionManager] Connection request: [route: {s}->https://korben.info:443][total kept alive: 0; route allocated: 0 of 5; total allocated: 0 of 25]
2018-02-16 17:29:51,334 DEBUG [main][org.apache.hc.client5.http.impl.nio.PoolingAsyncClientConnectionManager] Connection leased: [route: {s}->https://korben.info:443][total kept alive: 0; route allocated: 1 of 5; total allocated: 1 of 25]
2018-02-16 17:29:51,335 DEBUG [main][org.apache.hc.client5.http.impl.nio.PoolingAsyncClientConnectionManager] ep-00000000: acquired null
2018-02-16 17:29:51,335 DEBUG [main][org.apache.hc.client5.http.impl.async.AsyncConnectExec] ex-00000001: connection acquired
2018-02-16 17:29:51,463 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.impl.nio.DefaultManagedAsyncClientConnection] i/o-00000000: start TLS
2018-02-16 17:29:51,549 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.impl.nio.PoolingAsyncClientConnectionManager] ep-00000000: connected i/o-00000000
2018-02-16 17:29:51,549 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.impl.async.AsyncConnectExec] Connected to target
2018-02-16 17:29:51,549 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.impl.async.AsyncConnectExec] Route fully established
2018-02-16 17:29:51,549 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.impl.async.HttpAsyncMainClientExec] ex-00000001: executing GET / HTTP/1.1
2018-02-16 17:29:51,551 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.impl.async.InternalHttpAsyncClient] ep-00000000: executing ex-00000001
2018-02-16 17:29:51,551 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.impl.nio.PoolingAsyncClientConnectionManager] ep-00000000: executing exchange ex-00000001 over i/o-00000000
2018-02-16 17:29:51,551 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.impl.nio.DefaultManagedAsyncClientConnection] i/o-00000000: command org.apache.hc.core5.http.nio.command.ExecutionCommand@28ad514e
2018-02-16 17:29:51,555 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.examples.AsyncClientTlsAlpn$2] Enabled protocols: [TLSv1.2]
2018-02-16 17:29:51,555 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.examples.AsyncClientTlsAlpn$2] Enabled cipher suites:[TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_DSS_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_DSS_WITH_AES_128_GCM_SHA256, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA]
2018-02-16 17:29:51,915 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.examples.AsyncClientTlsAlpn$2] Secure session established
2018-02-16 17:29:51,915 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.examples.AsyncClientTlsAlpn$2]  negotiated protocol: TLSv1.2
2018-02-16 17:29:51,915 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.examples.AsyncClientTlsAlpn$2]  negotiated cipher suite: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
2018-02-16 17:29:51,915 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.examples.AsyncClientTlsAlpn$2]  peer principal: CN=*.korben.info, OU=Gandi Standard Wildcard SSL, OU=Domain Control Validated
2018-02-16 17:29:51,916 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.examples.AsyncClientTlsAlpn$2]  peer alternative names: [*.korben.info, korben.info]
2018-02-16 17:29:51,917 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.examples.AsyncClientTlsAlpn$2]  issuer principal: CN=Gandi Standard SSL CA 2, O=Gandi, L=Paris, ST=Paris, C=FR
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.hc.core5.ssl.ReflectionSupport (file:/home/oleg/.m2/repository/org/apache/httpcomponents/core5/httpcore5/5.0-beta2/httpcore5-5.0-beta2.jar) to method sun.security.ssl.SSLEngineImpl.getApplicationProtocol()
WARNING: Please consider reporting this to the maintainers of org.apache.hc.core5.ssl.ReflectionSupport
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
2018-02-16 17:29:51,944 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http2.frame] i/o-00000000 >> stream 0 frame: SETTINGS (0x4); flags: (0x0); length: 36
2018-02-16 17:29:51,945 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "[0x0][0x0][0x12][0x4][0x0][0x0][0x0][0x0][0x0][0x0][0x3][0x0][0x0][0x0][0xffffff80][0x0][0x4][0x0][0x1][0x0][0x0][0x0][0x5][0x0][0xffffffff][0xffffffff][0xffffffff][0x0][0x0][0x4][0x8][0x0][0x0][0x0][0x0][0x0][0xffffffff][0x0][0x0]"
2018-02-16 17:29:51,945 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http2.frame] i/o-00000000 << stream 0 frame: SETTINGS (0x4); flags: (0x0); length: 18
2018-02-16 17:29:51,945 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http2.flow] i/o-00000000 >> stream 0 flow control 1 -> 65536
2018-02-16 17:29:51,946 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http2.frame] i/o-00000000 << stream 0 frame: WINDOW_UPDATE (0x8); flags: (0x0); length: 4
2018-02-16 17:29:51,946 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http2.flow] i/o-00000000 >> stream 0 flow control 2147418112 -> 2147483647
2018-02-16 17:29:51,950 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.impl.async.HttpAsyncMainClientExec] ex-00000001: send request GET / HTTP/1.1, null entity
2018-02-16 17:29:51,951 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.headers] i/o-00000000 >> :method: GET
2018-02-16 17:29:51,951 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.headers] i/o-00000000 >> :scheme: https
2018-02-16 17:29:51,951 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.headers] i/o-00000000 >> :authority: korben.info:443
2018-02-16 17:29:51,951 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.headers] i/o-00000000 >> :path: /
2018-02-16 17:29:51,951 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.headers] i/o-00000000 >> user-agent: Apache-HttpAsyncClient/5.0-beta2-SNAPSHOT (Java/9.0.1)
2018-02-16 17:29:51,954 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 >> "[0x0][0x0]$[0x4][0x0][0x0][0x0][0x0][0x0][0x0][0x1][0x0][0x0] [0x0][0x0][0x2][0x0][0x0][0x0][0x0][0x0][0x3][0x0][0x0][0x0]d[0x0][0x4][0x0][0x0][0xffffffff][0xffffffff][0x0][0x5][0x0][0x1][0x0][0x0][0x0][0x6][0x0][0xffffffff][0xffffffff][0xffffffff]"
2018-02-16 17:29:51,955 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http2.frame] i/o-00000000 >> stream 0 frame: SETTINGS (0x4); flags: ACK (0x1); length: 0
2018-02-16 17:29:51,955 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 >> "[0x0][0x0][0x0][0x4][0x1][0x0][0x0][0x0][0x0]"
2018-02-16 17:29:51,955 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http2.frame] i/o-00000000 >> stream 1 frame: HEADERS (0x1); flags: END_STREAM END_HEADERS (0x5); length: 59
2018-02-16 17:29:51,956 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 >> "[0x0][0x0];[0x1][0x5][0x0][0x0][0x0][0x1][0xffffff82][0xffffff87]A[0xffffff8b][0xffffffea]{#-K[0xffffff9a][0xffffffa9]Oq[0xffffffa6][0xffffff99][0xffffff84]z[0xffffffa9][0xffffff86][0xffffffb1][0xffffff92]r[0xffffffad][0xffffff8d])[0xffffffae][0x14]z[0xffffffa8][0xffffff97][0xffffffa8]1jK[\r][0xffffffae][0x5][0xffffffa3]*F%[0xffffffb7]i[0xffffff87]^[0xffffffec]z[0xffffffb7][0xffffffa9][0xfffffffd]e[0x1f]q[0xffffffb0][0xfffffffa][0xffffffe0]\?[0xffffffdf]"
2018-02-16 17:29:52,075 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "[0x0][0x0][0x0][0x4][0x1][0x0][0x0][0x0][0x0][0x0][0x0]H[0x1][0x4][0x0][0x0][0x0][0x1]H[0x3]403v[0xffffff84][0xffffffaa]cU[0xffffffe7]a[0xffffff96][0xffffffc3]a[0xffffffbe][0xffffff94][0xb][0xffffff8a]a,j[0x8][0x1]y@[0xffffffb9]pO[0xffffffdc]l*b[0xffffffd1][0xffffffbf]_[0xffffff87]I|[0xffffffa5][0xffffff89][0xffffffd3]M[0x1f]{[0xffffff8b][0xffffff84][0xffffff84]-i[[0x5]D<[0xffffff86][0xffffffaa]o[0x0][0xffffff88][0xfffffff2][0xffffffb2]-%[0xffffffb6][0x19]cI[0xffffff84][0xb]`[0x0][0xffffffbf]"
2018-02-16 17:29:52,075 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http2.frame] i/o-00000000 << stream 0 frame: SETTINGS (0x4); flags: ACK (0x1); length: 0
2018-02-16 17:29:52,076 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http2.frame] i/o-00000000 << stream 1 frame: HEADERS (0x1); flags: END_HEADERS (0x4); length: 72
2018-02-16 17:29:52,076 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.headers] i/o-00000000 << :status: 403
2018-02-16 17:29:52,076 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.headers] i/o-00000000 << server: nginx
2018-02-16 17:29:52,077 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.headers] i/o-00000000 << date: Fri, 16 Feb 2018 16:29:51 GMT
2018-02-16 17:29:52,077 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.headers] i/o-00000000 << content-type: text/html
2018-02-16 17:29:52,077 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.headers] i/o-00000000 << vary: Accept-Encoding
2018-02-16 17:29:52,077 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.headers] i/o-00000000 << x-sucuri-id: 15002
2018-02-16 17:29:52,081 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.impl.async.HttpAsyncMainClientExec] ex-00000001: consume response HTTP/2.0 403 Forbidden, entity len -1
2018-02-16 17:29:52,094 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "[0x0][0x7][0xffffff96][0x0][0x0][0x0][0x0][0x0][0x1]<!DOCTYPE html>[\n]"
2018-02-16 17:29:52,094 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<html lang="en" xmlns="http://www.w3.org/1999/xhtml">[\n]"
2018-02-16 17:29:52,094 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<head>[\n]"
2018-02-16 17:29:52,094 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<link rel="stylesheet" href="https://cdn.sucuri.net/sucuri-firewall-block.css" />[\n]"
2018-02-16 17:29:52,094 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<section class="center clearfix">[\n]"
2018-02-16 17:29:52,095 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<meta name="viewport" content="width=device-width, initial-scale=1.0" />[\n]"
2018-02-16 17:29:52,095 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<title>Sucuri WebSite Firewall - Access Denied</title>[\n]"
2018-02-16 17:29:52,095 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700" rel="stylesheet" type="text/css">[\n]"
2018-02-16 17:29:52,095 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "</head>[\n]"
2018-02-16 17:29:52,095 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<body>[\n]"
2018-02-16 17:29:52,095 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<div id="main-container">[\n]"
2018-02-16 17:29:52,095 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<header class="app-header clearfix">[\n]"
2018-02-16 17:29:52,095 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<div class="wrap">[\n]"
2018-02-16 17:29:52,095 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<a href="https://www.sucuri.net/" class="logo"></a>[\n]"
2018-02-16 17:29:52,096 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<span class="logo-neartext">Website Firewall</span>[\n]"
2018-02-16 17:29:52,096 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<a href="https://sucuri.net" class="site-link">Back to sucuri.net</a>[\n]"
2018-02-16 17:29:52,096 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "</div>[\n]"
2018-02-16 17:29:52,096 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "</header>[\n]"
2018-02-16 17:29:52,096 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "[\n]"
2018-02-16 17:29:52,096 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<section class="app-content access-denied clearfix"><div class="box center width-max-940"><h1 class="brand-font font-size-xtra no-margin"><i class="icon-circle-red"></i>Access Denied - Sucuri Website Firewall</h1>[\n]"
2018-02-16 17:29:52,096 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<p class="medium-text code-snippet">If you are the site owner (or you manage this site), please whitelist your IP or if you think this block is an error please <a href="https://support.sucuri.net" class="color-green underline">open a support ticket</a> and make sure to include the block details (displayed in the box below), so we can assist you in troubleshooting the issue. </p><h2>Block details:</h1>[\n]"
2018-02-16 17:29:52,096 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<table class="property-table overflow-break-all line-height-16">[\n]"
2018-02-16 17:29:52,097 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<tr>[\n]"
2018-02-16 17:29:52,097 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<td>Your IP:</td>[\n]"
2018-02-16 17:29:52,097 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<td><span>213.55.211.46</span></td>[\n]"
2018-02-16 17:29:52,097 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "</tr>[\n]"
2018-02-16 17:29:52,097 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<tr><td>URL:</td>[\n]"
2018-02-16 17:29:52,097 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<td><span>korben.info/</span></td>[\n]"
2018-02-16 17:29:52,097 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "</tr>[\n]"
2018-02-16 17:29:52,097 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<tr>[\n]"
2018-02-16 17:29:52,097 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<td>Your Browser: </td>[\n]"
2018-02-16 17:29:52,097 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<td><span>Apache-HttpAsyncClient/5.0-beta2-SNAPSHOT (Java/9.0.1)</span></td>[\n]"
2018-02-16 17:29:52,097 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "</tr>[\n]"
2018-02-16 17:29:52,098 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<tr><td>Block ID:</td>[\n]"
2018-02-16 17:29:52,098 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<td><span>DDOS22</span></td>[\n]"
2018-02-16 17:29:52,098 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "</tr>[\n]"
2018-02-16 17:29:52,098 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<tr>[\n]"
2018-02-16 17:29:52,098 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<td>Block reason:</td>[\n]"
2018-02-16 17:29:52,098 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<td><span>DDOS attempt was blocked.</span></td>[\n]"
2018-02-16 17:29:52,098 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "</tr>[\n]"
2018-02-16 17:29:52,098 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<tr>[\n]"
2018-02-16 17:29:52,098 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<td>Time:</td>[\n]"
2018-02-16 17:29:52,098 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<td><span>Fri Feb 16 11:29:52 2018</span></td>[\n]"
2018-02-16 17:29:52,098 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "</tr>[\n]"
2018-02-16 17:29:52,099 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<tr>[\n]"
2018-02-16 17:29:52,099 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<td>Server ID:</td>[\n]"
2018-02-16 17:29:52,099 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<td><span>15002</span></td></tr>[\n]"
2018-02-16 17:29:52,099 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "</table>[\n]"
2018-02-16 17:29:52,099 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "</div>[\n]"
2018-02-16 17:29:52,099 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "</section>[\n]"
2018-02-16 17:29:52,099 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "[\n]"
2018-02-16 17:29:52,099 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "[0x0][0x0][0xffffffe6][0x0][0x1][0x0][0x0][0x0][0x1]<footer>[\n]"
2018-02-16 17:29:52,099 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<span>&copy; 2017 Sucuri Inc. All rights reserved.</span>[\n]"
2018-02-16 17:29:52,099 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "<span id="privacy-policy"><a href="https://sucuri.net/privacy-policy" target="_blank" rel="nofollow noopener">Privacy</a></span>[\n]"
2018-02-16 17:29:52,100 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "</footer>[\n]"
2018-02-16 17:29:52,100 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "</div>[\n]"
2018-02-16 17:29:52,100 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "</body>[\n]"
2018-02-16 17:29:52,100 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "</html>[\n]"
2018-02-16 17:29:52,100 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 << "[\n]"
2018-02-16 17:29:52,100 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http2.frame] i/o-00000000 << stream 1 frame: DATA (0x0); flags: (0x0); length: 1942
2018-02-16 17:29:52,100 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http2.flow] i/o-00000000 << stream 1 flow control -1942 -> 63593
2018-02-16 17:29:52,100 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http2.flow] i/o-00000000 << stream 0 flow control -1942 -> 63593
2018-02-16 17:29:52,101 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.impl.async.HttpAsyncMainClientExec] ex-00000001: consume response data, len 1942 bytes
2018-02-16 17:29:52,101 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http2.frame] i/o-00000000 << stream 1 frame: DATA (0x0); flags: END_STREAM (0x1); length: 230
2018-02-16 17:29:52,101 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http2.flow] i/o-00000000 << stream 1 flow control -230 -> 63363
2018-02-16 17:29:52,101 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http2.flow] i/o-00000000 << stream 0 flow control -230 -> 63363
2018-02-16 17:29:52,101 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.impl.async.HttpAsyncMainClientExec] ex-00000001: consume response data, len 230 bytes
2018-02-16 17:29:52,101 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.impl.async.HttpAsyncMainClientExec] ex-00000001: end of response data
Shutting down
/->403
2018-02-16 17:29:52,103 DEBUG [main][org.apache.hc.client5.http.impl.async.InternalHttpAsyncClient] Shutdown GRACEFUL
content length=2172, content type=text/html
SSL protocol TLSv1.2
SSL cipher suite TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
2018-02-16 17:29:52,103 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.impl.async.InternalHttpAsyncClient] ex-00000001: message exchange successfully completed
2018-02-16 17:29:52,103 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.impl.async.InternalHttpAsyncClient] ep-00000000: releasing valid endpoint
2018-02-16 17:29:52,104 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.impl.nio.PoolingAsyncClientConnectionManager] ep-00000000: endpoint discarded
2018-02-16 17:29:52,104 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.impl.nio.PoolingAsyncClientConnectionManager] Connection i/o-00000000 can be kept alive indefinitely
2018-02-16 17:29:52,104 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.impl.nio.PoolingAsyncClientConnectionManager] Connection released: [id: i/o-00000000][route: {s}->https://korben.info:443][total kept alive: 1; route allocated: 1 of 5; total allocated: 1 of 25]
2018-02-16 17:29:52,105 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http2.frame] i/o-00000000 >> stream 0 frame: GOAWAY (0x7); flags: (0x0); length: 25
2018-02-16 17:29:52,106 DEBUG [httpclient-dispatch-2][org.apache.hc.client5.http.wire] i/o-00000000 >> "[0x0][0x0][0x19][0x7][0x0][0x0][0x0][0x0][0x0][0x0][0x0][0x0][0x0][0x0][0x0][0x0][0x0]Graceful shutdown"
2018-02-16 17:29:52,233 DEBUG [main][org.apache.hc.client5.http.impl.async.InternalHttpAsyncClient] Shutdown GRACEFUL
2018-02-16 17:29:52,234 DEBUG [main][org.apache.hc.client5.http.impl.nio.PoolingAsyncClientConnectionManager] Connection manager is shutting down
2018-02-16 17:29:52,234 DEBUG [main][org.apache.hc.client5.http.impl.nio.DefaultManagedAsyncClientConnection] i/o-00000000: Shutdown connection GRACEFUL
2018-02-16 17:29:52,234 DEBUG [main][org.apache.hc.client5.http.impl.nio.PoolingAsyncClientConnectionManager] Connection manager shut down
  

 

---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
For additional commands, e-mail: httpclient-users-help@hc.apache.org