ping или curl неверные домены перенаправляет на локальный сервер в Linux

Когда я пытаюсь проверить связь или получить неверный домен, я получаю перенаправление на домен по умолчанию на моем локальном сервере. пример: попытка пропинговать www.invaliddomainnameexample.com с моего сервера s1.mylocaldomain.com

~: ping www.invaliddomainnameexample.com
PING www.invaliddomainnameexample.com.mylocaldomain.com (67.877.87.128) 56(84) bytes of data.
64 bytes from mylocaldomain.com (67.877.87.128): icmp_seq=1 ttl=64 time=0.040 ms
64 bytes from mylocaldomain.com (67.877.87.128): icmp_seq=2 ttl=64 time=0.039 ms

или с помощью curl

~: curl -I www.invaliddomainnameexample.com
HTTP/1.1 301 Moved Permanently
Date: Mon, 26 Nov 2012 16:09:57 GMT
Content-Type: text/html
Content-Length: 223
Connection: keep-alive
Keep-Alive: timeout=10
Location: http://mylocaldomain.com/

моя решимость

~: cat /etc/resolv.conf 
nameserver 8.8.8.8
nameserver 8.8.4.4

2 ответа

Решение

Похоже, единственный способ исправить это - запретить неизвестным хостам обрабатываться сервером Http. Хотя я сделал это только для локальных IP-адресов

Я использую Nginx, так что конфиг будет

#list of server and local IPs
geo $local {
    default 0;
    34.56.23.0/21 1;
    127.0.0.1/32 1;
}
#Deny access to any host other  
server {
   listen 80 default_server;
   server_name  _;

   if ( $local = 1 ){
       return 405;
   }

   rewrite ^(.*) http://mylocaldomain.com$1 permanent;
}

Может ли быть так, что ваш /etc/resolv.conf также содержитsearch mylocaldomain.comзаявление и есть "*" DNS RR для вашего домена?

Потому что тогда применяется список поиска, запись * совпадает, и вуаля!

Пытаться ping www.invaliddomainnameexample.com. с точкой, добавленной, чтобы пометить доменное имя как полное доменное имя, которое запрещает применение списка поиска.

Другие вопросы по тегам