Единорог Nginx: Firefox перенаправляется на proxy_pass
У меня есть следующие настройки для обработки определенных доменов с рельсами через единорога:
http {
# ...
upstream unicorn_server {
# This is the socket we configured in app's config unicorn.rb
server unix:/var/www/foo.bar.com/tmp/sockets/unicorn.sock fail_timeout=0;
}
# ...
}
server {
listen foo.bar.com:80;
server_name foo.bar.com;
# ...
location / {
if (!-f $request_filename) {
proxy_pass http://unicorn_server;
break;
}
}
}
Хотя Chrome справляется с этим правильно (показывает приложение rails), Firefox и, возможно, другие браузеры перенаправляются на http://unicorn_server
(единорог вверх по течению не вызывается). Подскажите, пожалуйста, что мне здесь не хватает?
nginx: nginx version: nginx/1.0.10
, unicorn v4.2.0
1 ответ
Решение
Похоже на
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
не включены по умолчанию. Это сделало работу.