[
https://issues.apache.org/jira/browse/HTTPCLIENT-2173?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17407366#comment-17407366
]
Oleg Kalnichevski commented on HTTPCLIENT-2173:
-----------------------------------------------
[~horyukova] I took a look at our integration tests for identity transfer
encoded response messages I found out that we had a test in core but not in
client. I added an integration test case to specifically exercise a similar
request / response exchange as described in your report. The test case passes
for me. Could you please upgrade to the latest 5.1.x snapshot and tweak the
test to trigger the same failure?
Oleg
[1]
https://github.com/apache/httpcomponents-client/blob/5.1.x/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1Async.java#L148
> Connection is unexpectedly closed with http1.1, TLS, old nginx
> ---------------------------------------------------------------
>
> Key: HTTPCLIENT-2173
> URL: https://issues.apache.org/jira/browse/HTTPCLIENT-2173
> Project: HttpComponents HttpClient
> Issue Type: Bug
> Environment: nginx version older 1.18.0
> Reporter: Vitalina Komarova
> Priority: Major
>
> Hello.
> We use AsyncHttpClient from Apache HttpClient5 (version 5.1).
> We faced an error when connection is unexpectedly closed using TLS, forced
> HTTP/1.1, and nginx version older 1.18.0.
> In the log below the server responds with 200 OK and an empty body.
> We can see response headers but connection is prematurely closed.
> {code}
> [2021-08-16T20:22:50.950+03:00] … [headers] c-0000000000 << HTTP/1.1 200 OK
> [2021-08-16T20:22:50.950+03:00] … [headers] c-0000000000 << Server: nginx
> [2021-08-16T20:22:50.950+03:00] … [headers] c-0000000000 << Date: Mon, 16 Aug
> 2021 17:22:50 GMT
> [2021-08-16T20:22:50.951+03:00] … [headers] c-0000000000 << Content-Type:
> text/html; charset=UTF-8
> [2021-08-16T20:22:50.951+03:00] … [headers] c-0000000000 << Connection: close
> [2021-08-16T20:22:50.951+03:00] … [headers] c-0000000000 << Set-Cookie:
> <masked cookie>; expires=Sat, 21-Aug-2021 17:22:50 GMT; Max-Age=432000; path=/
> [2021-08-16T20:22:50.951+03:00] … [headers] c-0000000000 << Expires: Thu, 19
> Nov 1981 08:52:00 GMT
> [2021-08-16T20:22:50.951+03:00] … [headers] c-0000000000 << Cache-Control:
> no-store, no-cache, must-revalidate
> [2021-08-16T20:22:50.951+03:00] … [headers] c-0000000000 << Pragma: no-cache
> [2021-08-16T20:22:50.954+03:00] … [HttpAsyncMainClientExec] ex-0000000001
> consume response HTTP/1.1 200 OK, entity len -9223372036854775807
> [2021-08-16T20:22:50.967+03:00] … [HttpAsyncMainClientExec] ex-0000000001
> execution failed: Connection is closed
> [2021-08-16T20:22:50.968+03:00] … [InternalAbstractHttpAsyncClient]
> ex-0000000001 request failed: Connection is closed
> [2021-08-16T20:22:50.968+03:00] … [PoolingAsyncClientConnectionManager]
> ep-0000000000 close IMMEDIATE
> [2021-08-16T20:22:50.968+03:00] … [DefaultManagedAsyncClientConnection]
> c-0000000000 Shutdown connection IMMEDIATE
> {code}
>
> That happens with the almost default configuration of the HTTP client (only
> versionPolicy and tlsStrategy are configured).
> To reproduce such behavior all of these conditions must be met:
> 1) Server must be accessed via nginx version older 1.18.0 (I tested 1.16.1
> and 1.18.0);
> 2) A request contains a body;
> 3) A response doesn't contain "Content-Length" header;
> 4) TLS is used.
> 5) HTTP/1.1 is used.
>
> I think there is a bug. We've tried httpclient5 (classic, version 5.1) and
> AsyncHttpClient (Netty based). Both of them work correctly.
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]