Почему мой сайт не доступен с префиксом www
Я знаю, что это старый и "любительский" вопрос, но я вижу необходимость в создании этого вопроса, поскольку я действительно не знаю, что происходит.
Мой сайт недоступен с префиксом www... На самом деле иногда он работает, а иногда нет. Если я захожу на сайт без www, он вдруг начнет работать с www.
После того, как я "сделал домашнее задание", я решил выполнить следующие шаги:
-На моем поставщике услуг доменных имен я добавил запись A и запись C NAME, которая указывает на мой веб-сайт, буквально это выглядит так: я предполагаю, что GoDaddy разрешает @ для моего веб-адреса, поскольку я иногда посещаю веб-сайт:
-В моем файле конфигурации виртуального хоста (в моем случае httpd-vhost.conf) у меня есть такая структура:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.example.com
ServerAlias example.com
DocumentRoot my_htdocs_path
<Directory my_htdocs_path>
Option Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
У меня есть 4 из этих блоков, все они работают отлично, но самый важный! (Законные дела Мерфи).
В чем дело? Может кто-нибудь дать мне подсказку?
Дополнительная полезная информация:
- Запуск Amazon EC2
- Я использую Route53 для имен поддоменов
- Раньше все работало нормально
2 ответа
Хорошо, спасибо всем, кто написал ответ, вы, ребята, помогли мне встать на правильный путь. Проблема была связана с двойными записями на GoDaddy и Route53.
Я закончил тем, что сделал следующее:
На Godaddy на главном экране вы видите перед собой "Launch" домен ("Launch" = худшее имя, когда-либо присвоенное тому, что открывает настройки, ИМХО). А затем настроил серверы NS на те, что дает мне Route53, их ровно 4 и они отмечены желтым на следующем изображении.
Я вошел в эту запись и добавил все записи из GoDaddy в Route53, вы должны закончить что-то вроде этого:
- Наконец, на Godaddy я удалил все записи, кроме записей CNAME, у меня изначально были записи A, TXT и NS. Таким образом, теперь только Route53 управляет всеми записями.
Я могу придумать два объяснения, оба относятся к поискам DNS:
- Возможно, один из используемых вами рекурсивных преобразователей кэшировал отрицательную запись до того, как вы создали CNAME. Работает ли это или нет, зависит от того, какой решатель вы используете в данный момент.
- Возможно, один из задействованных серверов неправильно обрабатывает дополнительные записи, связанные с CNAME. Это может означать, что CNAME возвращается без записи A в качестве дополнительного ответа. Но разрешение имени без www приведет к тому, что необходимая запись A будет кэширована, и, пока она остается в кэше, она включается в качестве дополнительной записи.
Вы можете попытаться разрешить доменное имя с помощью и без www с помощью такого инструмента, как nslookup
или же dig
, Попробуйте это с другими рекурсивными распознавателями, попробуйте те, которые предоставлены вашим провайдером, а также с некоторыми общедоступными распознавателями (8.8.8.8 и 8.8.4.4 - хороший выбор).