/ / Kiedy używasz proxy_pass, czy / etc / hosts mogą być używane do rozpoznawania nazw domen zamiast "resolver"? - pisanie na adresach URL, nginx, reverse-proxy

Czy przy użyciu proxy_pass można używać / etc / hosts do rozpoznawania nazw domen zamiast "resolver"? - pisanie na adresach URL, nginx, reverse-proxy

Mogą / etc / hosts być używane zamiast resolver podczas używania proxy_pass?

Muszę wykonać proxy_pass na tym samym komputerze nginx. Czy istnieje sposób na rozwiązanie domen przy użyciu pliku / etc / hosts komputera zamiast podawania serwera DNS za pośrednictwem właściwości "resolver"?

Pozwoli to zaoszczędzić mi dodatkowych potrzebnych skokówdotrzeć do tego samego serwera. Próbowałem ustawić wewnętrzne IP zmapowane do DNS w pliku / etc / hosts, ale nginx nadal czyta z serwera DNS w resolver własność. Czy istnieje sposób, aby moduł HTTPProxy rozważył ustawienia pliku / etc / hosts?

Dziękuję za wszelkie rady, którymi mógłbyś się podzielić.

To jest to samo pytanie, które napisałem na forum nginx: http://forum.nginx.org/read.php?11,218997

Odpowiedzi:

39 dla odpowiedzi nr 1

Możesz obejść to, instalując dnsmasq i ustawianie twojego resolwera na 127.0.0.1. Zasadniczo to używa twojego lokalnego DNS jako resolwera, ale rozwiązuje tylko to, o czym wie (między tymi rzeczami jest twój /etc/hosts) i przekazuje resztę do domyślnego DNS.


4 dla odpowiedzi nr 2

Obejściem jest użycie mapy Nginx, aby skopiować /etc/hosts zawartość.

map $wanted_host $wanted_host_ip
{
default 127.0.0.1;
b.dev.local X.X.X.X;
a.dev.local X.X.X.X;
}

server
{
listen              80;
server_name         ~^(?P<wanted_port>[0-9]+?)-(?P<wanted_host>.+?).HOSTNAME$;

location /
{
proxy_pass http://$wanted_host_ip:$wanted_port;

}
}

Spowoduje to odwzorowanie wanted_hostdo wanted_host_ip , jak rozwiązujący.