我们经常在处理 nginx 反向代理时,会遇到这样的问题
怎样重新定义上游服务器的错误页面
举个栗子: 我们有一台后台 server 是 windows 服务器。 架构时我们用前端 linux 服务器来做转发,windows 服务器只做后端业务处理。 这时,我们会发现,若后端应用没有定义一个漂亮的 404 页面,用户收到的将是一个 IIS 的默认错误页面。 怎样在不配置 IIS 的情况下实现 nginx 自定义反向代理错误页面呢?
1server
2 {
3 listen 80;
4 server_name domain.com;
5 index index.html index.htm index.php default.html default.htm default.php;
6 root /var/www/domain.com;
7
8 proxy_intercept_errors on;
9 recursive_error_pages on;
10
11 location / {
12 error_page 404 = @backend;
13 }
14
15 location @backend {
16 proxy_pass http://localhost:88;
17 error_page 404 =301 /your-404-page;
18 }
19
20 }