nginx 实现自定义反向代理错误页面

我们经常在处理 nginx 反向代理时,会遇到这样的问题

怎样重新定义上游服务器的错误页面

举个栗子:
我们有一台后台server 是 windows 服务器。
架构时我们用前端 linux 服务器来做转发,windows 服务器只做后端业务处理。
这时,我们会发现,若后端应用没有定义一个漂亮的 404 页面,用户收到的将是一个 IIS 的默认错误页面。
怎样在不配置 IIS 的情况下实现 nginx 自定义反向代理错误页面呢?

server
    {
        listen 80;
        server_name domain.com;
        index index.html index.htm index.php default.html default.htm default.php;
        root  /var/www/domain.com;

        proxy_intercept_errors  on;
        recursive_error_pages   on;

        location / {
            error_page 404 = @backend;
        }

        location @backend {
            proxy_pass http://localhost:88;
            error_page 404 =301  /your-404-page;
        }

    }

添加新评论