Сегодня я был шокирован, когда проверял, на что фактически указывает промежуточный домен моего веб-сайта. Я предполагал, что из-за некоторой неаккуратной конфигурации домена или сети нашей компании мой stage-Domain каким-то образом указывал на производственный сервер.
После этого я попробовал host stage. ***. Com
и получил 212. #. ##. 73 => Уф, промежуточный сервер
Итак, мой вопрос: как это может случиться, что случайно вставив "http: //" в командную строку, "host" возвращает другой IP-адрес?
Изменить: Поскольку кажется непонятным, о чем я спрашиваю, я пытаюсь уточнить: Как указывает Свен в своем комментарии,
host http: //stage.***.com
не должен ничего возвращать, но в моем случае он ДЕЙСТВИТЕЛЬНО возвращает
http: //stage.** * .com имеет адрес 212. ##. ##. 70
, который на самом деле является IP-адресом ***. com (производственный). Поэтому я хотел бы знать, как это могло произойти.
Между прочим, у меня 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
записи A, http: // www
соответствует wildcard
Запись вершины не соответствует *, так как это не субдомен.
host http://example.com
http://example.com not found: 3(NXDOMAIN
Всегда будет NXDomain, это как-то связано с отсутствием какого-либо символа + .
Я проверил журнал запросов, и да, запрос на самом деле предназначен для http://a.example.com
и соответствует *. example.com
.
Подстановочные знаки ужасны, избегайте их как можно чаще !
*. *. *. *. example.com
vs *. example.com
) * распространение не имеет смысла, однако оно обычно используется для описания времени, которое требуется третьим сторонам для обновления своего кэша.