19

In nginx the proxy_pass directive is not resolving DNS using the /etc/hosts file. Any way to enable this possibility (maybe by leveraging Lua as a last resort)?

Mark
  • 67,098
  • 47
  • 117
  • 162

2 Answers2

6

If you have a server with systemd you can use the nameserver shipped with it, systemd-resolved, to resolve your hostnames from the /etc/hosts file.

Just add this to your nginx config http, server or location block:

resolver 127.0.0.53;

Use systemctl status systemd-resolved.service to see if it is running on your server.

esamatti
  • 18,293
  • 11
  • 75
  • 82
5

In short, you need to install dnsmasq locally and use 127.0.0.1 as a resolver.

See this related question and answer:

When using proxy_pass, can /etc/hosts be used to resolve domain names instead of "resolver"?

Community
  • 1
  • 1
Aiman Alsari
  • 71
  • 1
  • 3