Почему мой сайт не доступен с префиксом 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 - хороший выбор).

Другие вопросы по тегам