LINUX.ORG.RU
ФорумAdmin

Nginx proxy_pass переменная

 , ,


0

2

Есть nginx и avahi на одном сервере. И есть кофигурация виртуального хоста:

server {

    listen 80;
    server_name     ~^(?<subdomain>.+)\.example\.ru$;

    location / {

            proxy_set_header            Host $http_host;
            proxy_set_header            X-Real-IP $remote_addr;
            proxy_set_header            X-Forwarded-Proto $scheme;
            proxy_set_header            X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header            Host $host;

            proxy_pass                  http://$subdomain-example.local;

            proxy_connect_timeout       600;
            proxy_send_timeout          600;
            proxy_read_timeout          600;
            send_timeout                600;

    }
}

Nginx вопит ошибкой:

2016/09/26 17:14:55 [error] 9891#9891: *1 no resolver defined to resolve test-example.local, 
client: 192.168.1.100, 
server: ~^(?<subdomain>.+)\.example\.ru$, 
request: "GET / HTTP/1.1", 
host: "test.example.ru"

При этом, если я вместо $subdomain явно укажу test, то все пройдет как лом через... ну вы поняли.

Пробовал назначать resolver 127.0.0.1, но это не помогает. Собственно, хочу я, чтобы nginx автоматически роутил субдомен на поднятые на сервере машины и доступные через mDNS. При этом машины пингуются, Avahi работает корректно.

Что я делаю не так?

Deleted
Ответ на: комментарий от n1cew0lf

Нет, в логах:

14917#14917: *876 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 192.168.1.100, 
server: ~^(?<subdomain>.+)\.example\.ru$, 
request: "GET / HTTP/1.0", upstream: "http://192.168.1.100:80/", host: "test.example.ru"

Не могу понять почему прямое указание домена, куда нужно редиректить работает, а через переменную — нет.

Deleted
()

Есть тут еще nginx-джедаи? Уперся в эту проблему и не могу ее до сих пор решить. Даже на stackoverflow тишина =(

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.