Назад | Перейти на главную страницу

Почему мой сайт недоступен с префиксом 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, все работают отлично, но самый главный! (Закон Мерфи).

В чем дело? Кто-нибудь может мне подсказать?

Дополнительная полезная информация:

Я могу придумать два объяснения, оба относятся к поиску DNS:

  • Возможно, один из рекурсивных преобразователей, которые вы используете, кэшировал отрицательную запись до того, как вы создали CNAME. Работает это или нет, зависит от того, какой резолвер вы используете в данный момент.
  • Возможно, один из задействованных серверов неправильно обрабатывает дополнительные записи, связанные с CNAME. Это может означать, что CNAME возвращается без записи A в качестве дополнительного ответа. Но разрешение имени без www приведет к кэшированию необходимой записи A, и пока она остается в кэше, она включается в качестве дополнительной записи.

Вы можете попытаться разрешить доменное имя с www и без него с помощью такого инструмента, как nslookup или dig. Попробуйте использовать разные рекурсивные преобразователи, попробуйте те, которые предоставляются вашим интернет-провайдером, а также некоторые общедоступные преобразователи (8.8.8.8 и 8.8.4.4 - хороший выбор).

Хорошо, спасибо всем, кто написал ответ, вы, ребята, помогли мне встать на правильный путь. Проблема была связана с двойными записями на GoDaddy и Route53.

В итоге я сделал следующее:

  • На Godaddy на главном экране вы видите перед тем, как вы запустите домен («Launch» = худшее имя, которое когда-либо давалось тому, что открывает настройки, ИМХО). А затем настроил серверы NS на те, которые дает мне Route53, их ровно 4 и они отмечены желтым на следующем изображении.

  • Я вошел в эту запись и добавил все записи от GoDaddy до Route53 должны заканчиваться примерно так:

  • Наконец, на Godaddy я удалил все записи, кроме записей CNAME, у меня изначально были записи A, TXT и NS. Таким образом, теперь всеми записями управляет только Route53.