У меня есть сервер nginx, работающий как балансировщик нагрузки для моих серверов Apache. Я использую поддомены, и мой код полагается на значение HTTP_HOST для выполнения правильной задачи.
Когда я прошу сказать: http://get.example.com
после пересылки HTTP_HOST на apache становится example.com
.
Мой вопрос: как сделать так, чтобы он оставался таким же, как в исходном запросе?
Вот моя конфигурация nginx:
upstream example.com {
server 192.168.2.1:8909 weight=2;
server 192.168.2.2:8909 weight=1;
server 192.168.2.3:8909 weight=1;
}
server {
listen 80;
location / {
proxy_pass http://example.com;
}
}
Я пробовал добавить несколько proxy_pass
, по одному для каждого поддомена, и похоже, что это не работает.
Вам нужно передать HTTP Host
заголовок. Добавьте это в соответствующий location
:
proxy_set_header Host $host;