Tôi có một ứng dụng Sinatra được lưu trữ với Unicorn, và nginx ở phía trước của nó. Khi ứng dụng Sinatra bị lỗi (trả về 500), tôi muốn phục vụ một trang tĩnh, thay vì mặc định là "Lỗi Máy chủ Nội bộ" mặc định. Tôi có cấu hình nginx sau:nginx không phục vụ error_page của tôi
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;
}
Chỉ thị error_page là ở đó, và tôi đã sudo'd như www-data (Ubuntu) và xác nhận tôi có thể cat
tập tin, do đó nó không phải là một vấn đề cho phép. Với tệp cấu hình ở trên và service nginx reload
, trang tôi nhận được do lỗi vẫn giống "Lỗi Máy chủ Nội bộ".
Lỗi của tôi là gì?
Tôi biết đó là câu hỏi của RTFM. Cảm ơn bạn đã dành thời gian để cung cấp câu trả lời tuyệt vời! –
Chỉ cần lưu ý nhanh đến phản hồi 4 năm - hiện tại 'proxy_intercept_errors' hoạt động cho các lỗi bằng hoặc lớn hơn đến 300. – Tisho