我有一個Sinatra應用程序託管與Unicorn和nginx在它之前。當Sinatra應用程序出錯(返回500)時,我想提供靜態頁面,而不是默認的「內部服務器錯誤」。我有以下nginx的配置:nginx沒有爲我的error_page服務
server {
listen 80 default;
server_name *.example.com;
root /home/deploy/www-frontend/current/public;
location/{
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_connect_timeout 5;
proxy_read_timeout 240;
proxy_pass http://127.0.0.1:4701/;
}
error_page 500 502 503 504 /50x.html;
}
的error_page指令是存在的,我已經sudo'd作爲WWW的數據(Ubuntu的),並驗證我可以cat
文件,因此它不是一個權限問題。通過上面的配置文件和service nginx reload
,我收到的錯誤頁面仍然是「內部服務器錯誤」。
我的錯誤是什麼?
我知道這是一個RTFM的問題。感謝您花時間提供一個很好的答案! – 2012-01-03 17:10:02
對4年前的響應做一個快速提示 - 現在'proxy_intercept_errors'適用於等於或大於300的錯誤。 – Tisho 2016-02-25 10:09:56