Hello!
Background
We’ve implemented a lightweight APIGW on nginx 1.9.9 using openresty
packages to customize the handling/proxying logic. We have dozens
clients
that are able to leverage this implementation just fine.
The Issue
We have one client that is experiencing some weird issues when trying to
access our APIGW. This is only for certain requests coming from their
app.
We strongly believe it’s a malformed request from their side but we’re
trying to help them find the issue. The behavior we see on our side is
quite strange as well. The error.log will show a GET request that timed
out. The access.log shows a POST request for the same request. Below
are
the two entries; the response time always seems to be around 5 seconds;
but
lowest timeout explicitly set in our configuration is 10 seconds.
Error log entry
2016/05/18 11:34:51 [info] 13516#0: *304290 client prematurely closed
connection, client: xx.xxx.xx.xxx, server: , request: “GET /hidden_uri
HTTP/1.1”, host: “blahblahblah.com”
Access log entry
|LOCATION:GATEWAY|CN:NA|SSLPROTOCOL:TLSv1|SSLCIPHER:ECDHE-RSA-AES256-SHA|SERVICE:NA|VERSION:1|CLIENT:NA|BACKEND:|HTTPMETHOD:POST|ACCEPT:application/json;
v=4|OPERATION:NA|RESPONSETIME:5005|STATUS:400|SEVERITY:NA|STATUSCODE:NA|STATUSMESSAGE:NA|CLIENTIPADDRESS:xx.xxx.xx.xxx|CLIENTMESSAGEID:NA|MESSAGEID:|REQUESTBODYSIZE:0|RESPONSEBODYSIZE:0
Configuration for access log
‘$timestamp|LOCATION:$location_name|CN:$cn|SSLPROTOCOL:$ssl_protocol|SSLCIPHER:$ssl_cipher|SERVICE:$service_name|VERSION:$version|CLIENT:$upstream_api_key|BACKEND:$route_location|HTTPMETHOD:$upstream_method|ACCEPT:$accept|OPERATION:$operation|RESPONSETIME:$request_time_ms|STATUS:$status|SEVERITY:$severity|STATUSCODE:$status_code|STATUSMESSAGE:$status_message|CLIENTIPADDRESS:$clientip|CLIENTMESSAGEID:$clientmessageid|MESSAGEID:$messageid|REQUESTBODYSIZE:$content_length|RESPONSEBODYSIZE:$body_bytes_sent’;
Posted at Nginx Forum: