nginx代理tomcat,自定义404页面

需求背景是:

网站基于java,使用tomcat搭建环境,使用nginx作为前端代理。若不做特殊处理,当访问出现404时,将会返回tomcat的404页面,现要求404页面为nginx的自定义页面,并非tomcat自带的404页面。

nginx的配置文件内容如下:

server {

            listen 80;

            server_name www.xxx.com;

   proxy_intercept_errors  on;

    recursive_error_pages   on;

            location / {

         error_page 404 @404;

                 proxy_pass      :8080;

                 proxy_set_header Host   $host;

            }

   location @404 {

 root /tmp/111/;

 error_page 404 /404.html;

   }

        }

其中红色字体的两行配置非常关键,404.html的位置在/tmp/111/404.html。

proxy_intercept_errors  on; 当上游服务器响应头回来后,可以根据响应状态码的值进行拦截错误处理,与error_page 指令相互结合。用在访问上游服务器出现错误的情况下。

recursive_error_pages   on; 可以让下面的location @404生效。

- END -

出品 | 阿铭linux

个人号:    

验证:

提升自己,才是世界上最稳健的投资。