Можно ли использовать Nginx на моем личном VPS в качестве обратного прокси перед Heroku (запуск Ruby на Приложение Rails)?
Я хотел бы сделать это, потому что я хочу направлять стандартные запросы (например, GET http://mydomain.com
) в мое приложение Rails, но различные запросы субдоменов (например, ПОЛУЧИТЕ http://joe.mydomain.com
) на отдельный сервер.
Как часть 2 (при условии, что это возможно), какие правильные заголовки прокси-сервера Nginx следует установить в этом случае «Я обычно делаю следующее, когда использую Nginx перед Unicorn:
proxy_redirect off;
proxy_read_timeout 5m;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto http;
Как и почти в каждом учебнике, но я недостаточно осведомлен, чтобы знать, какие из них применимы (или отсутствуют) в данном случае.
Справка был бы очень признателен!
Можно делать то, что вы предлагаете, через proxy_pass ( http://wiki.nginx.org/HttpProxyModule# proxy_pass ), но было бы проще направлять эти запросы через DNS.
Чтобы использовать верхний домен для Heroku, вы можете использовать записи ALIAS в DNSimple или записи ANAME в DNS Made Easy и обычные записи A для своих поддоменов.
Однако на моем собственном сайте вершина домена установлена на запись A для nginx, которая напрямую перенаправляет на www, который является CNAME для heroku. Подробнее о том, что поддерживается / предлагается здесь: https://devcenter.heroku.com/articles/custom-domains