У меня есть экземпляр SimpleHosting на gandi.net, связанный с доменом в Gandi, mygandidomain.org
, и еще один домен, myrootdomain.name
зарегистрирован где-то еще.
Я успешно добавил запись CNAME в свой myrootdomain.name
DNS-записи, позволяющие одному поддомену, subdomain.myrootdomain.name
укажите на мой экземпляр SimpleHosting в Ганди, то есть:
subdomain 10800 IN CNAME mygandidomain.org.
Когда я сейчас пойду в subdomain.myrootdomain.name
с Google Chrome я получаю сообщение об ошибке: «Ошибка 404 Vhost unknown». Это сообщение об ошибке исходит от Ганди, а не от другого регистратора доменных имен. Итак, я прихожу к выводу, что запись CNAME вступила в силу.
Однако, чтобы устранить эту ошибку, я только потом прочитал инструкции. В инструкциях, данных Ганди, я должен сделать следующее:
В инструкциях Ганди сказано, что я должен указать на это gpaas12.dc2.gandi.net.
, т.е.
Добавить строку CNAME
subdomain 10800 IN CNAME gpaas12.dc2.gandi.net.
вместо того
subdomain 10800 IN CNAME mygandidomain.org.
... и, чтобы авторизоваться как владелец домена, следует ли мне удалить какие-либо из них? Какой из них я должен оставить, чтобы соответствовать инструкциям Ганди, чтобы добавить:
@ 10800 IN TXT "test = s0m3r4nD0mG! BB3ri $ hStr1nG" Я также должен добавить запись TXT:
@ 10800 IN TXT "test=s0m3r4nD0mG!bB3ri$hStr1nG"
с какой-то бессмысленной случайной строкой, предоставленной Ганди.
Так я и сделал. Поскольку я не могу ввести эти строки напрямую, но должен использовать некоторый веб-интерфейс ввода, я ввел значение записи TXT один раз с кавычками и один раз без кавычек, и оба для субдомена (введено subdomain.myrootdomain.name.
в поле ввода "хост") и для корневого домена (введен myrootdomain.name.
в поле ввода "host") на всякий случай, потому что мне не разрешено вводить "@" или "*" в это поле ввода.
Я изменил TTL для всех добавленных и изменил записи DNS на 300. Значит, они должны были быть обновлены давно. Но вот что все же происходит при копании:
$ dig txt subdomain.myrootdomain.name
; <<>> DiG 9.10.3-P4-Ubuntu <<>> txt subdomain.myrootdomain.name
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50813
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;subdomain.myrootdomain.name. IN TXT
;; ANSWER SECTION:
subdomain.myrootdomain.name. 3599 IN CNAME mygandidomain.org
mygandidomain.org. 10799 IN TXT "v=spf1 include:_mailcust.gandi.net ?all"
;; Query time: 52 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Wed Jul 11 05:42:59 CEST 2018
;; MSG SIZE rcvd: 85
Таким образом, CNAME по-прежнему указывает на mygandidomain.org
вроде бы как я в самом начале (перед тем как поменять на gpaas12.dc2.gandi.net.
)
Не знаю, плохо ли это, потому что mygandidomain.org
в свою очередь, предположительно, указывает на экземпляр хоста в gpaas12.dc2.gandi.net
, если я правильно понял. (И я действительно могу получить доступ к моему сайту, размещенному в Gandi, через mygandidomain.org
)
Однако я подумал, что должен увидеть любую из записей TXT, которые я добавил для subdomain.myrootdomain.name
к настоящему времени.
Если я правильно понимаю эти строки:
;; QUESTION SECTION:
;subdomain.myrootdomain.name. IN TXT
... это означает, что есть запись TXT для subdomain.myrootdomain.name
который, однако, пуст?
Кажется, здесь присутствует только непустая запись TXT в записях DNS домена Ганди:
;; ANSWER SECTION:
subdomain.myrootdomain.name. 3599 IN CNAME mygandidomain.org
mygandidomain.org. 10799 IN TXT "v=spf1 include:_mailcust.gandi.net ?all"
..., что не имеет ничего общего с записью TXT, которую я должен был добавить в myrootdomain.name
.
Я добавил указанную запись TXT с предоставленным строковым значением один раз с кавычками и один раз без кавычек, как для myrootdomain.name
и для subdomain.myrootdomain.name
.
Тот же результат относительно записей TXT для копания myrootdomain.name
(где, я думаю, должна быть запись TXT, согласно инструкциям Ганди):
;; QUESTION SECTION:
;myrootdomain.name. IN TXT
Всего одна пустая запись TXT? Должны ли изменения еще не вступить в силу?
Я также несколько раз сбрасывал записи CNAME и TXT в общедоступном DNS Google (8.8.8.8) через интерфейс на https://developers.google.com/speed/public-dns/cache, для обоих myrootdomain.name
и subdomain.myrootdomain.name
. И я использую DNS-сервер Google в качестве основного DNS-сервера на этом компьютере.
Когда я иду в subdomain.myrootdomain.name
с Google Chrome я все еще получаю ошибку «Ошибка 404 Vhost unknown». - что, вероятно, и следовало ожидать, судя по результатам поиска DNS. Это сообщение об ошибке исходит от Ганди, поэтому хотя бы CNAME (либо gpaas12.dc2.gandi.net
или еще mygandidomain.org
) вступил в силу там. Я полагаю, что только запись TXT, которая должна помочь авторизовать право собственности на домен, все еще не распознается.
Как ни странно, когда я иду в subdomain.myrootdomain.name
с Firefox я по-прежнему получаю более старое сообщение об ошибке от поставщика домена, не принадлежащего Gandi: «Ни один веб-сайт не настроен под этим адресом».
Что-то не так с моими входными данными TXT? Как я уже сказал, я добавил их обоими subdomain.myrootdomain.name
(что, вероятно, не соответствует инструкциям Ганди), а также myrootdomain.name
(что, вероятно, соответствовало бы инструкциям Ганди) просто потому, что я не мог вместо этого ввести «@» или «*» и хотел быть уверенным, что включил ожидаемую запись. И я также добавил их оба дважды, один раз с включенными кавычками и один раз с исключенными кавычками, предполагая, что только правильная запись будет выбрана Ганди.
Стоит ли удалять какие-нибудь из них? Какой из них я должен оставить, чтобы соответствовать инструкциям Ганди, чтобы добавить:
@ 10800 IN TXT "test=s0m3r4nD0mG!bB3ri$hStr1nG"
Я не вижу, как мои вводимые данные фактически переводятся в эти текстовые строки.
Но ни один из них, кажется, не появляется при выполнении $ dig ....
по крайней мере до сих пор. Должен ли я не видеть их появления при выполнении $ dig ...
? Как я уже сказал, TTL составляет 300 (поначалу было больше), и я выполнил очистку Google DNS.
Спасибо за любые подсказки и советы о том, как интерпретировать то, что здесь происходит.
РЕДАКТИРОВАТЬ: Теперь работает. Не совсем уверен, но мне кажется, что дополнительная запись TXT, которую я добавил для subdomain.mydomain.name.
каким-то образом противоречил CNAME для subdomain.mydomain.name.
. В руководстве сказано, что нужно добавлять TXT только для mydomain.name.
и нет subdomain.mydomain.name.
, но, как я объяснил, я сделал и то, и другое «на всякий случай». Я не совсем уверен, что именно это помогло мне, но это было последнее, что я изменил, и теперь это работает.
Этот довольно длинный вопрос представляет собой набор распространенных недоразумений, которые неоднократно встречались в Server Fault. Кроме того, на подобные вопросы обычно можно получить более подробные ответы с конкретными доменами, с которыми мы могли бы протестировать. Надеюсь, вы лучше поймете, что здесь происходит, прочитав это:
Когда я иду в
subdomain.myrootdomain.name
с Google Chrome я все еще получаю ошибку «Ошибка 404 Vhost unknown». - что, вероятно, и следовало ожидать, судя по результатам поиска DNS.
Это не имеет ничего общего с DNS: тот факт, что вы видите страницу Ганди, говорит о том, что DNS указывает на их серверы, но их веб-серверы не настроены на его распознавание. Чтобы связать домен, вам сначала нужно Добавьте виртуальный хост в свой экземпляр из панели управления экземпляром.
Второй шаг для домены не в Gandi добавляет CNAME
для субдомена и TXT
на вершине домена: @ IN TXT
эквивалентно myrootdomain.name. IN TXT
. Как видно из руководства, форма этого TXT
запись кажется subdomain=hash
. Если бы в вашей записи буквально было test=s0m3r4nD0mG!bB3ri$hStr1n
, вероятно, это было для test.myrootdomain.name
вместо твоего subdomain.myrootdomain.name
. В этом случае вам нужно начать с самого начала, добавив точный субдомен, который вы планируете использовать.
;; QUESTION SECTION: ;subdomain.myrootdomain.name. IN TXT
... это означает, что есть запись TXT для subdomain.myrootdomain.name, которая, однако, пуста?
Нет это раздел вопросов отображение того, что вы искали. Он не пустой, у него просто нет результатов. Результаты в раздел ответов. И не пусто:
;; ANSWER SECTION: subdomain.myrootdomain.name. 3599 IN CNAME mygandidomain.org mygandidomain.org. 10799 IN TXT "v=spf1 include:_mailcust.gandi.net ?all"
Я изменил TTL для всех добавленных и изменил записи DNS на 300. Значит, они должны были быть обновлены давно.
Запрос кешируется для TTL
секунд. Если вы впоследствии измените время TTL, это не повлияет на уже кэшированные запросы. Изначально он был кэширован для 10800
секунд, т.е. 3 часа, из которых это 3599
Когда последний раз редактировал ваш вопрос, осталось секунд.
Если вам нужно проверить, обновляется ли запись на вашем авторитетный серверов имен, вы должны выполнить запрос непосредственно к ним (заменить фактическим NS
вашего домена):
dig subdomain.myrootdomain.name A @authoritative1.example.com
dig myrootdomain.name TXT @authoritative1.example.com
Если вы добавите TXT
запись на поддомене, который уже имеет CNAME
запись, это нормально, что она не работает: она покажет TXT
из каноническое имявместо этого, как в ваших результатах. Если имя хоста имеет CNAME
запись, в ней не должно быть других записей ресурсов другого типа. Хотите знать, почему? у меня есть ответ, а AndrewB даже более подробно канонический вопрос.