在我的设置中,我有一个 nginx 服务器作为我的 tomcat 应用程序服务器的反向代理。我使用 proxy_pass 连接到 tomcat 上游。
location /test {
proxy_pass http://upstream1/webapp1/gateway
}
现在如果有人向我的 nginx 服务器发出请求http://myserver.com/test.jsp,这个请求也由测试位置处理,并传递给tomcat实例。
tomcat 实例返回 404,但 nginx 不处理此 404 请求。(我已经在 nginx 级别为 404 定义了页面),而浏览器直接从 tomcat 显示页面(带有 tomcat 版本信息和所有内容)。我该如何阻止这种情况。我不想暴露我的应用程序服务器详细信息。
提前致谢
答案1
你必须告诉 nginx 使用以下方式拦截上游错误proxy_intercept_errors
指示。
location /test {
proxy_pass http://upstream1/webapp1/gateway;
proxy_intercept_errors on;
}