Должен ли сайт быть напрямую доступен по его IP-адресу?

34

Я обнаружил, что многие веб-сайты отображают содержимое своего сайта только при доступе к ним по их полному доменному имени (например, example.com). При попытке доступа по их IP-адресу они показывают ошибку 404 site not found.

Существуют ли веские причины, по которым владельцы сайтов не хотят, чтобы их сайты были напрямую доступны по IP-адресу, а не проходили через DNS?

Каковы плюсы и минусы предоставления прямого доступа к IP для вашего сайта?

Вопрос переполнен
источник

Ответы:

32

Обратите внимание, что веб-сайт, доступ к которому осуществляется через доменное имя, может не размещаться непосредственно в корне IP-адреса, т. Е. Может example.orgотображаться на 123.45.67.89/~example. Это обычное явление для обычных веб-хостов, поскольку они не могут выделить IP-адрес для каждого веб-сайта - это было бы невероятно расточительно.

Например, если вы делаете DNS поиск из webmasters.stackexchange.com, вы получите IP - адрес 198.252.206.140(на правой стороне на сайте я связан с). Несмотря на то, что IP-адрес переходит на страницу StackExchange, он не ведет к разделу для веб-мастеров, который может выглядеть как-то так 198.252.206.140/www/webmasters.

Одним из недостатков использования IP-адреса (или чего-то подобного 123.45.67.89/~example) является необходимость в статическом IP-адресе. Если по какой-то причине IP-адрес должен измениться, у вас нет возможности перенаправить пользователей. В то время как для доменного имени необходимо просто обновить записи DNS, чтобы они указывали на новый IP-адрес.

Хотя они не полностью связаны, другой очевидный недостаток IP-адресов заключается в том, что их гораздо сложнее запомнить, чем имя и окончание.

По умолчанию веб-сайт будет доступен как по имени домена, так и по IP-адресу. Различные ответы / комментарии к этому вопросу предлагают разные перспективы, и я не хочу копировать это.

Лично я не стал бы блокировать доступ по IP-адресу, просто потому, что не следует ожидать, что интернет будет работать. Кроме того, обычный пользователь никогда не найдет случайным образом IP-адрес вашего сайта, и он определенно не начнет делиться ссылками на ваш сайт с IP-адресом. Поэтому любые усилия для SEO и безопасности, безусловно, лучше потратить в другом месте.

ljacqu
источник
6
Я не думаю, что ваши последние два абзаца отвечают на вопрос. В моем понимании вопроса ОП не спрашивает, можно ли предлагать веб-сайт только через IP-адрес, а не по доменному имени, но есть ли какие-либо причины для преднамеренного предотвращения доступа пользователей к веб-сайту через IP-адрес. ,
ИЛИ Mapper
2
Одно небольшое исправление: сам по себе поиск в whois покажет вам только статус регистрации и контактную информацию для доменного имени. IP-адрес определяется поиском записи DNS. Who.is - это сервис, который показывает вас обоих при поиске доменного имени. Кроме того, вы найдете только информацию для Whois stackexchange.com, а не webmasters.stackexchange.com. gwhois.org/webmasters.stackexchange.com+dns
iglvzx
@ORMapper и iglvzx : Большое спасибо вам обоим! Я обновил свой ответ, чтобы исправить ваши замечания, стараясь как можно меньше копировать другие ответы, которые было очень интересно прочитать.
ljacqu
1
youtube - если вы пингуете youtube и получаете IP-адрес 173.194.41.161, вы в конечном итоге получаете домашнюю страницу Google.
Уилф
1
Другой проблемой может быть SSL, если вы применяете его (что вам действительно нужно).
Лео Лам
9

Первоначальная версия HTTP не включала в себя какой-либо механизм для указания клиентом имени хоста как части запроса. Он подключился к серверу и отправил только часть пути URL. Одной из ранних модификаций протокола HTTP было добавление возможности для клиента отправлять другую информацию «заголовка», включая имя хоста.

20 лет назад поддержка браузеров для виртуальных хостов была очень нестабильной. Тогда существовала бы веская причина, чтобы обслуживать контент только с IP-адреса. Небольшой процент клиентов не отправил бы заголовок узла. Имя хоста теперь является стандартным заголовком, отправляемым каждым браузером и веб-сканером.

Фактически, я считаю, что запросы на поиск содержимого на IP-адресе вряд ли будут удовлетворены, если мой сервер ответит моим веб-сайтом. Я склонен видеть только IP-запросы, которые:

  • Для сайта, который раньше был на этом IP-адресе
  • Попытки доступа вредоносных программ

Теперь я предпочитаю указывать ошибку 404 только для запросов IP-адресов, а не для обслуживания моего сайта или перенаправления на мой сайт. Мои серверы также настроены на обслуживание 404 страниц для нераспознанных имен хостов, как объяснено в ответе « Как бороться с перенаправлениями вредоносных доменов»?

Стивен Остермиллер
источник
Я иногда пытаюсь получить доступ к веб-сайтам через их IP-адрес; каждый раз, когда я подозреваю, что с моим DNS происходит что-то подозрительное. В этих ситуациях я пытаюсь выяснить IP-адрес веб-сайта и открыть его через него. Если веб-сайт, который я ожидаю от обычного доменного имени, загружается нормально только через его IP, я знаю, что должен что-то исправить в своем DNS, но если я получу сообщение об ошибке, я всегда буду предполагать, что что-то не работает на сервере веб-сайта и Мне просто нужно подождать, пока это не будет исправлено.
ИЛИ Mapper
В наши дни так много веб-сайтов используют виртуальный хостинг, что ожидать доступа к ним без имени хоста нецелесообразно. Этот веб-сайт StackExchange не доступен только с IP-адресом. Есть много сайтов поддоменов StackExchange, которые разделяют его. StackExchange показывает пользовательскую страницу 404, если вы попробуете ее только с IP-адресом.
Стивен Остермиллер
7

Особенно, если у вас есть общий хостинг или сервер собственного хостинга нескольких доменов, вы не можете получить доступ к «сайту» через IP. Для вашего собственного сервера вы могли бы определить основной домен, который будет достигнут, если вы введете IP. Для общих хостов это невозможно.

Как упомянул @Ijacqu, IP может легко измениться.

Другое дело - дублированный контент, поэтому в принципе это не очень хорошая практика.

Если вы хотите, чтобы веб-сайт был доступен по IP-адресу сервера, вы должны обязательно добавить переадресацию 301 или 302 в сам домен.

Для одного сервера, которым я управлял, я добавил небольшой HTML-сайт, просто повторив "Welcome to 123.456.789.123" в качестве веб-сайта по умолчанию, так как на этом компьютере было размещено несколько пользовательских проектов, и мне просто потребовалось решение для белых меток для сайта по умолчанию. Я настроил это с помощью Apache Vhosts.

Кристоф Даум
источник
3

С точки зрения SEO это катастрофа.

Если у вас есть один веб-сайт, например stackexchange.com, и он также доступен с IP-адреса, это приведет к дублированию контента.

Это разрушит ваш рейтинг и запутает ваших пользователей, которые будут искать в Google и найдут 2 результата по той же теме (один доступен по доменному имени, а другой - по ip-адресу)

Никогда не делайте домен доступным с IP-адреса.

Если у вас есть один домен, размещенный на одном сервере, лучший способ - 301 redirectнаправить IP-адрес для доступа к этому домену.

Если у вас более одного домена на сервере, отключите прямой доступ по IP-адресу.

krokola
источник
4
Я был в этом с ARPA-NET. Это утверждение просто не соответствует действительности. В начале не было виртуального хостинга, и все сайты были доступны через доменное имя И IP-адрес. Это все еще чрезвычайно распространено сегодня. Поисковые системы достаточно умны, чтобы знать, какие доменные имена обслуживаются какими IP-адресами, и НЕ считают это дублирующимся контентом, а одним и тем же сайтом.
closetnoc
Сайт был уничтожен, после обновления nginx, что я не исправил сервер по умолчанию. Потребовалось 6 месяцев, чтобы 301 просмотрел все 10.000.000 ссылок в прямом доступе по IP-адресу :(
krokola
И если вы думаете, что проблем с SEO нет (но я с вами полностью не согласен), это очень большая проблема с хитами. Боты будут делать двойные попадания, чтобы сканировать один и тот же контент. Если ваш веб-сайт получает 2 000 000 посещений ботов в день, и вы разрешаете прямой доступ по IP-адресу, боты получат 4 000 000 посещений, и это не принесет вам никакой пользы.
Крокола
1
Для SEO, можно добавить, <link rel="canonical" href="http://example.com" />чтобы избежать дублирования контента.
Переполнение вопроса
2
Этот ответ определенно не соответствует действительности. Многие веб-сайты доступны по их IP-адресу, это не вызывает головной боли у поисковых систем, это не убьет ваше «SEO». Дублированный контент - это техническая проблема, возникшая с самого начала работы в Интернете. У поисковых систем есть разные способы борьбы с ней. Это не конец света. Тем не менее, если у вас есть предпочтения относительно индексации, добавление rel = canonical - отличный способ направить поисковые системы к этому.
Джон Мюллер
2

Просто мои 2 цента, у меня есть несколько веб-сайтов на моем веб-сервере (около 8), и все они имеют одинаковый IP-адрес. При использовании заголовков хостов полное доменное имя помогает веб-серверу (в моем случае Apache) направить запрос в правильный каталог для рассматриваемого веб-сайта. По умолчанию IP-адрес направлен на веб-сайт моей компании. Примерно с 2001 года я обнаружил, что это норма для большинства провайдеров веб-хостинга, особенно учитывая текущее состояние адресов IPv4. Для начала я работал в Voyager.net (в Мичигане) около 8 лет, и Voyager был хостинговой компанией и провайдером, который размещал более 80 000 доменов, и я не знаю, сколько веб-сайтов мы размещали. В дополнительном примечании полное доменное имя по определению используется для предоставления удобочитаемых адресов IP-адресу, чтобы мы могли легче их запомнить. Опять только мои 2цента.

Тэд
источник
1

С точки зрения безопасности это умный ход.

На большинстве сайтов с большим трафиком CDN будет использоваться где-нибудь. Таким образом, любая попытка атаки DOS или DDOS просто рассеется через серверы CDN и не попадет на сайт пользователя.

Однако, если пользователь знает об IP-адресе сайта, он или она может сразу запустить атаку на IP и отключить сервер в кратчайшие сроки. Вот почему большинство CDN предлагают варианты скрытия IP-адресов вашего сервера. Поэтому предоставление 404 тому, кто пытается получить доступ к сайту, - хороший ход. Это может быть сделано с помощью файла .htaccess или путем размещения сайта в месте, отличном от корневого каталога документов сервера по умолчанию.

Рана Пратхап
источник
-1

Что все забывают о виртуальном IP-хостинге, так это то, что он похож на 1000 автомобилей с одинаковым номером лицензии. Если один человек совершает что-то вредоносное, этот трафик будет показываться на целевом сервере как с IP. Он блокируется, как и все остальные. Любой сайт, который вас интересует, должен иметь свой собственный IP. Любая отправляемая вами почта должна приходить с вашего IP, а не с общего. Я не согласен ни на что меньшее и занимаюсь этим с 1994 года.

Larry
источник
Это не отвечает на вопрос. Вопрос заключался в том, должен ли сайт быть доступным по IP-адресу, а не в том, должен ли сайт быть на общем хостинге. Даже если у вас есть собственный IP-адрес, вы можете или не можете сделать свой сайт доступным, введя IP-адрес. Вы также можете разместить несколько своих сайтов на этом IP-адресе.
Стивен Остермиллер