Opened 2 years ago

Last modified 2 years ago

#2335 closed defect

no resolver defined to resolve localhost — at Initial Version

Reported by: stefankaerst.web.de@… Owned by:
Priority: minor Milestone: nginx-1.21
Component: nginx-core Version:
Keywords: Cc:
uname -a: Linux linux 5.3.18-150300.59.54-default #1 SMP Sat Mar 5 10:00:50 UTC 2022 (1d0fa95) x86_64 x86_64 x86_64
nginx -V: /usr/local/nginx/sbin $ ./nginx -V
nginx version: nginx/1.21.6
built by gcc 7.5.0 (SUSE Linux)
configure arguments:

Description

I just downlaoded nginx-1.21.6.tar.gz and tried a proxypass configuration to "localhost"

the error.log contains

[error] 10208#0: *6 no resolver defined to resolve localhost

IMHO this is a bug because localhost can be resolved by the OS DNS resolver. see below
2nd the error messagetext ist misleading, because I do not have to configure a DNS server within nginx because the OS is responsible to provide DNS service. no one configures DNS server in e.g. haproxy,squid,a....e,varnish ;)

"localhost" is no hostname that belongs to any global DNS zone, so it makes no sense to even put it into a DNS zone.
every major OS has "localhost" entries in /etc/hosts or other files accordingly to make this name available. therefore "localhost" is available without DNS whatsoever and even without a working network configuration e.g. offline. (as long as nsswitch works correctly)
I'm using GNU/Linux openSUSE 15.3 if that is any of interest.

using the local resolver (withouth DNS server):

/usr/local/nginx/sbin $ getaddrinfo localhost
family:10 socktype: 1 protocol:  6 addr:::1(28)
family: 2 socktype: 1 protocol:  6 addr:127.0.0.1(16)
/usr/local/nginx/sbin $ 

/usr/local/nginx/sbin $ getent ahosts localhost
::1             STREAM localhost
::1             DGRAM  
::1             RAW    
127.0.0.1       STREAM 
127.0.0.1       DGRAM  
127.0.0.1       RAW    
/usr/local/nginx/sbin $

mayby linked to #2259, but nginx could resolve localhost at the start or reload

Change History (0)

Note: See TracTickets for help on using tickets.