2013年8月16日星期五

nginx 后端使用nginx 的 error_page

例如后端的应用可能是tomcat,前端使用nginx,proxy 后默认如果tomcat 404 会返回
tomcat 的 404 页面,想要web page 返回的是 nginx 404 页面,查到了nginx 的这个
参数:proxy_intercept_errors


使用proxy_intercept_errors,如果设置为on, 将捕获>400的状态码,并按照error_page
的配置返回页面,如果没有配置则抛回给被代理服务器. 所以配置看起来是这样的:

upstream myapp {
    server 127.0.0.1:5000;
}

server {
    listen   80;
    server_name llbire.com www.llbire.com;

    location @myapp {
            proxy_pass  http://myapp;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_redirect off;
                proxy_intercept_errors on;
            proxy_set_header Host $http_host;
    }

    location / {
        try_files $uri @myapp;
    }
    root /home/ubuntu/quicklisp/local-projects/myapp/static;
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
}
 
 

没有评论:

发表评论