In my setup ,
I have a nginx server as a reverse proxy for my tomcat application servers.
I use proxy_pass to connect to tomcat upstreams ..
location /test {
proxy_pass http://upstream1/webapp1/gateway
}
Now if some one fires a request to my nginx server http://myserver.com/test.jsp , this request is also handled by the test location and passed to the tomcat instance.
The tomcat instance returns a 404,but nginx is not handling this 404 request . ( I already have pages defined for 404 in nginx level) ,instead the browser show the page directly from tomcat(with tomcat version information and all) .
How can i block this. I dont want to expose my application server details.
thanks in advance
Best Answer
You have to tell nginx to intercept upstream errors with
proxy_intercept_errors
directive.