Сегодня я был шокирован, когда проверил, куда на самом деле указывает промежуточный домен моего сайта. Я предполагал, что из-за некоторой неаккуратной конфигурации домена или сети нашей компании мой stage-Domain каким-то образом указывал на производственный сервер.
Итак, я набрал host http://stage.***.com
и получил 212. ##. ##. 70 => Бум, производственный сервер. Впоследствии я попробовал host stage.***.com
и получил 212. #. ##. 73 => Уф, промежуточный сервер
Итак, мой вопрос: как может случиться, что при случайной вставке «http: //» в командную строку «host» вернет другой IP-адрес?
Изменить: поскольку кажется неясным, о чем я прошу, я пытаюсь уточнить: как указывает Свен в своем комментарии,
host http://stage.***.com
не должен ничего возвращать, но в моем случае он возвращает
http://stage.***.com has address 212.##.##.70
который на самом деле является IP ***. com (production) Итак, я хотел бы знать, как это могло произойти.
Кстати, у меня Ubuntu 16.10. клиент
Edit2:
; <<>> DiG 9.10.3-P4-Ubuntu <<>> http://stage.***.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26978
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 5
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;http://stage.***.com. IN A
;; ANSWER SECTION:
http://stage.***.com. 180 IN A 212.48.122.70
;; AUTHORITY SECTION:
***.com. 65 IN NS auth2.###.de.
***.com. 65 IN NS auth1.###.de.
;; ADDITIONAL SECTION:
auth1.###.de. 180 IN A 212.##.##.53
auth1.###.de. 180 IN AAAA 2a00:####:##:##::2
auth2.###.de. 180 IN A 212.##.##.53
auth2.###.de. 180 IN AAAA 2a00:####:##:##::2
Хм. Я предполагаю, что часть «http: //» считается частью домена, и в нашей конфигурации DNS указано, что *. ***. Com имеет ###. 70 ??? (Итак, у нас есть подстановочный знак для всего, что не является этапом ....)
Для этого у вас должен быть подстановочный знак для вашего домена (и вы должны его удалить)
Результаты следующего должны быть такими же, если у вас есть зона вроде
Файл зоны:
example.com IN A 192.0.2.5
*.example.com IN A 192.0.2.0
www.example.com IN A 192.0.2.10
Вывод команды хоста:
host http://a.example.com
http://a.example.com has address 192.0.2.0
host http://www.example.com
http://www.example.com has address 192.0.2.0
host www.example.com
www.example.com has address 192.0.2.10
Как вы видете, www
Спички www
Запись, http://www
соответствует подстановочному знаку
Запись апекса не соответствует *, так как это не субдомен.
host http://example.com
http://example.com not found: 3(NXDOMAIN
Всегда будет NXDomain, это как-то связано с отсутствием какого-либо символа + .
Я проверил журнал запросов, и да, запрос действительно для http://a.example.com
и матчи *.example.com
.
Подстановочные знаки - это ужасно, избегайте их как можно чаще!
*.*.*.*.example.com
против *.example.com
)* распространение не имеет смысла, но обычно используется для описания времени, необходимого третьим сторонам для обновления кеша.
Полностью удалите http: //, так как это не часть FQDN.