带有 Unicorn 的 Nginx 自定义 502 错误页面不起作用,让我抓狂 ;)

带有 Unicorn 的 Nginx 自定义 502 错误页面不起作用,让我抓狂 ;)

我尝试了好几次,尝试修复下面使用 unicorn 的 nginx 代码,但就是不起作用。所以现在在最后一份报告中发布,一些更有才华的人可以看到我的错误,其他人也可以从中受益。

我在用着:

  • nginx
  • 独角兽

问题是

  • 没有显示 502 错误(我使用 cap deploy:web:disable 任务来编写 Maintenance.html)
  • 如果 nginx 正在运行但 unicorn 没有运行,我也会收到 502 错误页面

nginx 配置:

upstream unicorn {


        server unix:/srv/books/shared/tmp/unicorn.sock fail_timeout=0;

    }

    server {

        listen 80 deferred;
        server_name        books.*;

            client_max_body_size 4G;
            keepalive_timeout 10;
            server_tokens off;

            root /srv/books/public;

            location / {
                try_files /system/maintenance.html $uri/index.html $uri @unicorn;
            }

            try_files $uri/index.html $uri @unicorn;

            location @unicorn {
                error_page 502 /system/maintenance.html;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                proxy_redirect off;
                proxy_pass http://unicorn;
            }

        }

答案1

error_page指令放在 下server,而不是 下location

相关内容