Nginx

nginx 的自定義 502 錯誤頁面,獨角獸不工作,讓我發瘋;)

  • October 8, 2012

我嘗試了好幾次,並多次嘗試用 unicorn 修復下面的 nginx 程式碼,但它就是行不通。因此,現在在上次報告中發佈在這裡,你們中的一些更有才華的人可以看到我的錯誤,其他人也可以從中受益。

我正在使用:

  • nginx
  • 獨角獸

問題是

  • 沒有顯示 502 錯誤(我使用 cap deploy:web:disable 任務來編寫 maintenance.html )
  • 如果 nginx 正在執行但沒有獨角獸,我也會收到 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;
           }

       }

error_page指令放在server而不是location.

引用自:https://serverfault.com/questions/436017