For more information about nginx http proxy module please refer : http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_http_version | |
Issue : Sometimes a WSDL in a clustered setup fronted by NGINX might not be loaded. |
By default, http version 1.0 is used in nginx. Version 1.1 is recommended for use with keepalive connections. Therefore sometimes the wsdl will not be loaded.
You can confirm it by doing a curl command to the wsdl ngingx url.
E.g., curl http://wrk.test.com:8280/services/test?wsdl
Then you will get half of the wsdl.
Solution :
To avoid this, you will have to configure the nginx configuration file to set it's http version.
proxy_http_version 1.1;
Example :
As an example,
server{
listen 8280;
server_name wrk.test.com;
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_pass http://esbworkers;
proxy_redirect http://esbworkers http://wrk.esb.com:8280/;
}
}
This configuration is applicable for nginx versions above 1.1.4
No comments:
Post a Comment