Здравствуйте.
Использую связку nginx + phusion passenger, который вроде как компилируется scgi-модулем в nginx. Проблема состоит в том, что не получается заменить ошибки 40x и 50x, возвращаемые phusion passenger, при помощи директивы error_page - при любых её значениях отображаются страницы, полученные в ruby on rails.
Конфиг выглядит примерно так:
passenger_enabled on;
rails_env production;
passenger_set_cgi_param HTTP_X_REAL_IP $remote_addr;
error_page 404 @x404;
error_page 500 502 503 @x404;
scgi_intercept_errors on;
proxy_intercept_errors on;
uwsgi_intercept_errors on;
recursive_error_pages on;
location @x404 {
proxy_pass http://www.google.com;
}
Куда копать? Должна ли директива scgi_intercept_errors влиять на passenger?
Понятно, что можно настроить виртуальный хост с левым именем, обращаться к нему через proxy_pass и отлавливать ошибки в location, но хочется чего-нибудь поэлегантнее.
nginx/1.0.0 passenger 3.0.7