Как это возможно, что веб-сайт не работает, но traceroute в порядке?

У меня есть веб-сайт в BlueHost (план "Pro"), который часто отключается. Firefox говорит:

The connection has timed out

The server is taking too long to respond.
    The site could be temporarily unavailable or too busy. Try again in a few moments.
    If you are unable to load any pages, check your computer's network connection.
    If your computer or network is protected by a firewall or proxy, make sure that Firefox is permitted to access the Web.

Тем не менее, трассировка трассы в порядке:

  1    <1 ms    <1 ms    <1 ms  speedport.ip [192.168.2.1]
  2    39 ms    40 ms    40 ms  217.0.112.281
  3    42 ms    41 ms    43 ms  87.186.228.226
  4    49 ms    50 ms    48 ms  217.231.42.245
  5    48 ms    49 ms    49 ms  62.157.251.154
  6   184 ms   184 ms   183 ms  xe-0-3-0.slc10.ip4.gtt.net [89.149.187.137]
  7   188 ms   185 ms   196 ms  ve61.ar05.prov.acedc.net [69.31.64.6]
  8   186 ms   185 ms   185 ms  prv-212-1-0-1.unifiedlayer.com [69.27.175.151]
  9   186 ms   185 ms   185 ms  69-195-64-129.unifiedlayer.com [69.195.64.129]
 10   186 ms   185 ms   185 ms  162-144-240-157.unifiedlayer.com [162.144.240.157]
 11   186 ms   186 ms   186 ms  162-144-240-111.unifiedlayer.com [162.144.240.111]
 12   185 ms   185 ms   186 ms  box950.bluehost.com [69.195.124.150]

Мне нужно иметь возможность отслеживать, является ли мой сайт онлайн / офлайн, и я подумал, что трассировочный маршрут - подходящий инструмент для этого.

3 ответа

Решение

Что такое виртуальный хост?

Некоторые веб-серверы, такие как Apache, могут быть настроены на использование так называемого виртуального хостинга; по сути, локальная служба перенаправления. По сути, это работает так: веб-сервер (в данном случае мы будем предполагать, что это Apache2) будет выбирать, какие документы следует обслуживать, в зависимости от того, с какого домена и / или IP-адреса был получен запрос. Например: если вам нужно перейти на сайт по адресу example.com, сервер может предоставить вам веб-файлы, хранящиеся в /var/www/com.example, но если вы перейдете на другой сайт по адресу example-2.com, может предоставить вам файлы по адресу /var/www/com.example-2. Все, что сервер делает здесь, это изменение так называемого документа-корня, который по сути является каталогом домена "root" (например, google.com = корневой каталог., Google.com/file/ = не корневой каталог., но папка хранится в корневом каталоге).

Почему это важно

Теперь, что это имеет отношение к вашей ситуации: ваш домен по адресу http://xxx.bluehost.com/ может фактически указывать на тот же сервер, что и чужой веб-сайт, но сервер будет реагировать по-другому из-за вашего доменного имени; Поэтому, когда вы выполняете трассировку к этому серверу, он все равно может успешно ответить, потому что Bluehost, возможно, отключил только ваш сайт. И справедливое предупреждение: я всегда подозревал, что хосты, которые предлагают дешевый план веб-сервера, будут время от времени закрывать сайты своих меньших клиентов, чтобы освободить место для своих более крупных клиентов (пропускная способность, вычислительная мощность и т. Д.). Если вы читаете свои соглашения и контракты, вероятно, есть пункт, который дает им право сделать это.

ПРИМЕЧАНИЕ. Не путайте виртуальный сервер или виртуальный компьютер с виртуальным хостом. Они очень разные, хотя имеют схожие цели. Кроме того, мои извинения, если мне кажется, что вы ничего не знаете о веб-хостинге, а что нет, просто проще предположить, что кто-то не знает, чем объяснить это позже; и это дает информацию людям, которые могут прочитать этот вопрос позже!

Сайт работает на серверном процессе. Когда вы выключаете серверный процесс, сервер волшебным образом не выключается. Также не при неправильной настройке брандмауэра (и блокирования порта 80) сервер не отключается и не удаляется правило ICMP в брандмауэре.

Traceroute использует протокол ICMP для получения адреса, а сервер HTTP использует протокол HTTP, разные порты и разные подходы. Я могу получить адрес с помощью эхо-запроса ICMP, но, если порт, с которым я пытаюсь связаться, каким-то образом закрыт или заблокирован, я получу ошибку тайм-аута. И если вы уверены, что сервер включен, а порт включен (прослушивается), тогда лучше проверить правила брандмауэра.

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