Nginx 服务器不处理上游的 404

Nginx 服务器不处理上游的 404

在我的设置中,我有一个 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;
}

相关内容