我们经常在处理 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;
}
}