proxy_pass не разрешает DNS с помощью /etc/hosts

В nginx директива proxy_pass не разрешает DNS с помощью файла /etc/hosts. Любой способ включить эту возможность (возможно, используя Lua в качестве крайней меры)?


person Mark    schedule 01.05.2015    source источник


Ответы (2)


Короче говоря, вам нужно установить dnsmasq локально и использовать 127.0.0.1 в качестве резолвера.

См. этот связанный вопрос и ответ:

При использовании proxy_pass, можно ли использовать /etc/hosts для разрешения доменных имен вместо резолвера?

person Aiman Alsari    schedule 28.08.2015

Если у вас есть сервер с systemd, вы можете использовать поставляемый с ним сервер имен, разрешенный systemd, для разрешения ваших имен хостов из файла /etc/hosts.

Просто добавьте это в блок http, server или location конфигурации nginx:

resolver 127.0.0.53;

Используйте systemctl status systemd-resolved.service, чтобы узнать, работает ли он на вашем сервере.

person Epeli    schedule 19.11.2020