@fuCtor
Ruby разработчик

Использование переменной в proxy_pass?

Есть nginx 1.014, необходимо спроксировать в зависимости от поддомена на определенную машину внутри сети.

В интернетах везде приводят примеры вида:
location /proxy {
    resolver 8.8.8.8;
    set $target http://proxytarget.example.com;
    proxy_pass $target;
}


Поэтому делаю у себя аналогично:
location / {
  set_by_lua $target "return  string.gsub(ngx.var.host, 'host.ru', '-host')";
  proxy_pass $target;
  proxy_set_header Host $host;
}


Но данное решение не срабатывает, постоянно выкидывает 404.

Если указать путь вместо переменной, то все нормально.

inner-host — прописан жестко в hosts.


Куда копать не пойму :/
  • Вопрос задан
  • 3639 просмотров
Решения вопроса 1
@fuCtor Автор вопроса
Ruby разработчик
Да, теперь разобрался, совсем забыл про этот лог. Оказалось что nginx не умеет в hosts смотреть, пришлось поставить dnsmasq и выставить resolver в 127.0.0.1.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы