Мой сайт периодически не работал большую часть дня, и я схожу с ума, пытаясь понять, почему. Похоже, это проблема DNS, так как смена DNS-серверов с моего провайдера на Google исправила 8.8.8.8
ее для моего личного браузера. Но теперь и это не работает! DownForEveryoneOrJustMe говорит, что он работает, хотя я получаю жалобы от некоторых пользователей, что это не так.
nslookup
прерывистый:
16:04: ~/d/coachup (master) > nslookup www.coachup.com 8.8.8.8
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
*** Can't find www.coachup.com: No answer
В течение дня иногда это возвращало результат, но сейчас нет. Когда я пробую это с одним из моих DNS-серверов GoDaddy (которые, как я думаю, авторитетны? Я получил их от whois
), я получаю:
16:06: ~/d/coachup (master) > nslookup www.coachup.com NS36.DOMAINCONTROL.COM
Server: NS36.DOMAINCONTROL.COM
Address: 208.109.255.18#53
www.coachup.com canonical name = chiba-9316.herokussl.com.
Другой вариант более нестабилен:
16:07: ~/d/coachup (master) > nslookup www.coachup.com NS35.DOMAINCONTROL.COM
Server: NS35.DOMAINCONTROL.COM
Address: 216.69.185.18#53
*** Can't find www.coachup.com: No answer
16:08: ~/d/coachup (master) > nslookup www.coachup.com NS35.DOMAINCONTROL.COM
Server: NS35.DOMAINCONTROL.COM
Address: 216.69.185.18#53
www.coachup.com canonical name = chiba-9316.herokussl.com.
Однако даже при повторных попытках dig
всегда возвращается информация:
16:08: ~/d/coachup (master) > dig @8.8.8.8 www.coachup.com ANY
; <<>> DiG 9.8.3-P1 <<>> @8.8.8.8 www.coachup.com ANY
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49917
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.coachup.com. IN ANY
;; ANSWER SECTION:
www.coachup.com. 2815 IN CNAME chiba-9316.herokussl.com.
;; Query time: 32 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Wed Dec 18 16:09:25 2013
;; MSG SIZE rcvd: 68
16:09: ~/d/coachup (master) > dig @NS35.DOMAINCONTROL.COM www.coachup.com ANY
; <<>> DiG 9.8.3-P1 <<>> @NS35.DOMAINCONTROL.COM www.coachup.com ANY
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58865
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;www.coachup.com. IN ANY
;; ANSWER SECTION:
www.coachup.com. 3600 IN CNAME chiba-9316.herokussl.com.
;; AUTHORITY SECTION:
coachup.com. 3600 IN NS ns36.domaincontrol.com.
coachup.com. 3600 IN NS ns35.domaincontrol.com.
;; Query time: 309 msec
;; SERVER: 216.69.185.18#53(216.69.185.18)
;; WHEN: Wed Dec 18 16:09:39 2013
;; MSG SIZE rcvd: 120
host
аналогично работает стабильно.
Некоторые вопросы:
- Почему
dig
иhost
работает стабильно, а неnslookup
? - Как мне определить мои авторитетные серверы имен.
whois
Работает ли там?
Моя рабочая теория заключается в том, что сервер имен GoDaddy был нестабильным, и в какой-то момент, когда Google 8.8.8.8
запросил www.coachup.com
и не получил ответа, он кэшировал это негативно на некоторое время. Кажется ли это правдоподобным? Но тогда он нестабилен только с nslookup
, а не с dig
или host
.
Также,Статус Herokuпоказывает, что вчера они делали "обслуживание DNS". Может ли это быть причиной? Сейчас он зеленый.
решение1
*Почему dig и host работают стабильно, а nslookup — нет?
Потому что когда вы запускали dig, вы использовали опцию 'ANY', это значит, что вы искали не только запись 'A', но и другие записи, такие как CNAME. Пока nslookup искал запись 'A'. Интересно, что когда я сделал 'dig @8.8.8.8 www.coachup.com', я не получил ответа, но когда я сделал 'dig @8.8.8.8 www.coachup.com cname', я получил ответ.
*Как определить мои авторитетные серверы имен. Работает ли там whois?
whois — это в основном административная база данных, чтобы определить ваши фактические серверы имен, используйте «dig +trace www.coachup.com» -
[root@kauai ~]# dig +trace www.coachup.com ; > DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 > +трассировка www.coachup.com ;; глобальные параметры: +cmd . 3600000 В NS G.ROOT-SERVERS.NET. . 3600000 В NS K.ROOT-SERVERS.NET. . 3600000 В NS D.ROOT-SERVERS.NET. . 3600000 В NS J.ROOT-SERVERS.NET. . 3600000 В NS M.ROOT-SERVERS.NET. . 3600000 В NS C.ROOT-SERVERS.NET. . 3600000 В NS I.ROOT-SERVERS.NET. . 3600000 В NS H.ROOT-SERVERS.NET. . 3600000 В NS F.ROOT-SERVERS.NET. . 3600000 В NS A.ROOT-SERVERS.NET. . 3600000 В NS B.ROOT-SERVERS.NET. . 3600000 В NS E.ROOT-SERVERS.NET. . 3600000 В NS L.ROOT-SERVERS.NET. ;; Получено 512 байт от 192.168.10.109#53(192.168.10.109) за 18 мс com. 172800 IN NS j.gtld-servers.net. com. 172800 IN NS h.gtld-servers.net. com. 172800 IN NS f.gtld-servers.net. com. 172800 IN NS d.gtld-servers.net. com. 172800 IN NS a.gtld-servers.net. com. 172800 IN NS l.gtld-servers.net. com. 172800 IN NS k.gtld-servers.net. com. 172800 IN NS g.gtld-servers.net. com. 172800 IN NS b.gtld-servers.net. com. 172800 IN NS m.gtld-servers.net. com. 172800 IN NS c.gtld-servers.net. com. 172800 IN NS i.gtld-servers.net. com. 172800 IN NS e.gtld-servers.net. ;; Получено 505 байт от 192.33.4.12#53(192.33.4.12) за 133 мс coachup.com. 172800 В NS ns35.domaincontrol.com. coachup.com. 172800 В NS ns36.domaincontrol.com. ;; Получено 117 байт от 192.54.112.30#53(192.54.112.30) за 138 мс www.coachup.com. 3600 В CNAME chiba-9316.herokussl.com. ;; Получено 68 байт от 208.109.255.18#53(208.109.255.18) за 33 мс
Ваши авторитетные серверы имен находятся в разделе -
coachup.com. 172800 В NS ns35.domaincontrol.com. coachup.com. 172800 В NS ns36.domaincontrol.com.
*Я подозреваю, что проблема была в Heroku, а Google и некоторые другие DNS-серверы кэшировали ответ о несуществующей записи, и после этого они начали отвечать из отрицательного кэша. Это должно сработать, как только истечет срок действия отрицательного кэша. Я предполагаю, все еще предполагая, что ваш авторитетный сервер имен предоставил ответ cname, но DNS-серверы Google не смогли завершить разрешение для 'chiba-9316.herokussl.com.', предполагая, что у Herok возникла проблема.
Чтобы проверить это, я запустил dig на нескольких публичных DNS-серверах, которые я получил с сайта "http://pcsupport.about.com/od/tipstricks/a/free-public-dns-servers.htm". Все ответили на запрос CNAME, но несколько, включая Google, не ответили на запрос записи 'A' -
Запрос на запись 'A'. Примечание: google dns - '8.8.8.8'
[daniel@kauai ~]$ для dns в $(awk '{print $2}' /tmp/dnsservers ); do echo ==$dns===; dig @$dns www.coachup.com. +short ;done ==209.244.0.3=== chiba-9316.herokussl.com. elb002794-1867396571.us-east-1.elb.amazonaws.com. 50.16.224.113 23.23.124.44 23.23.101.90 ==8.8.8.8=== ==8.26.56.26=== chiba-9316.herokussl.com. elb002794-1867396571.us-east-1.elb.amazonaws.com. 23.23.124.44 23.23.101.90 50.16.224.113 ==208.67.222.222=== chiba-9316.herokussl.com. elb002794-1867396571.us-east-1.elb.amazonaws.com. 50.16.224.113 23.23.101.90 23.23.124.44 ==156.154.70.1=== chiba-9316.herokussl.com. elb002794-1867396571.us-east-1.elb.amazonaws.com. 23.23.124.44 23.23.101.90 50.16.224.113 ==198.153.192.40=== chiba-9316.herokussl.com. elb002794-1867396571.us-east-1.elb.amazonaws.com. 23.23.101.90 50.16.224.113 23.23.124.44 ==81.218.119.11=== chiba-9316.herokussl.com. elb002794-1867396571.us-east-1.elb.amazonaws.com. 23.23.124.44 23.23.101.90 50.16.224.113 ==195.46.39.39=== chiba-9316.herokussl.com. elb002794-1867396571.us-east-1.elb.amazonaws.com. 50.16.224.113 23.23.101.90 23.23.124.44 ==23.90.4.6=== chiba-9316.herokussl.com. elb002794-1867396571.us-east-1.elb.amazonaws.com. 23.23.101.90 23.23.124.44 50.16.224.113 ==216.146.35.35=== chiba-9316.herokussl.com. elb002794-1867396571.us-east-1.elb.amazonaws.com. 50.16.224.113 23.23.101.90 23.23.124.44 ==89.233.43.71=== chiba-9316.herokussl.com. elb002794-1867396571.us-east-1.elb.amazonaws.com. 23.23.101.90 50.16.224.113 23.23.124.44 ==74.82.42.42=== ==109.69.8.51===
Запрос на CNAME-запрос -
[daniel@kauai ~]$ для dns в $(awk '{print $2}' /tmp/dnsservers ); do echo ==$dns===; dig @$dns www.coachup.com. +short cname ;done ==209.244.0.3=== chiba-9316.herokussl.com. ==8.8.8.8=== chiba-9316.herokussl.com. ==8.26.56.26=== chiba-9316.herokussl.com. ==208.67.222.222=== chiba-9316.herokussl.com. ==156.154.70.1=== chiba-9316.herokussl.com. ==198.153.192.40=== chiba-9316.herokussl.com. ==81.218.119.11=== chiba-9316.herokussl.com. ==195.46.39.39=== chiba-9316.herokussl.com. ==23.90.4.6=== chiba-9316.herokussl.com. ==216.146.35.35=== chiba-9316.herokussl.com. ==89.233.43.71=== chiba-9316.herokussl.com. ==74.82.42.42=== chiba-9316.herokussl.com. ==109.69.8.51=== chiba-9316.herokussl.com.