[ 
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]

Reply via email to