1

В моей сети есть веб-сервер с IP-адресом 192.168.249.10 . Когда я пытаюсь открыть его, используя его IP-адрес в браузере, я сталкиваюсь со следующим результатом:

HTTP:

https:

Как вы видите выше, я не могу открыть домашнюю страницу. Но когда я изменяю свои etc\hosts чтобы назначить доменное имя его IP-адресу, я могу открыть его:

хосты:

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.


192.168.249.10 xyz.abc.com

И я имею:

Обратите внимание, что я набрал xyz.abc.com в адресной строке, а затем он автоматически перенаправился на https и добавил public/home/login.

Запись https://192.168.249.10/public/home/login прежнему не работает!

Вопрос в том:

  1. Почему мне нужно назначить IP-адрес этому конкретному доменному имени в файле хоста? Делает ли файл hosts что-либо кроме локальной замены (имя с IP-адресом)?
  2. Как они это сделали? (Владелец веб-сервера)

2 ответа2

4
  1. Нет, файл hosts не делает ничего лишнего - он просто позволяет разрешить DNS-запрос для xyz.abc.com прямо на вашем компьютере вместо отправки его на соответствующий авторитетный DNS-сервер. Имя или IP-адрес, который вы пишете в браузер, также отправляется на веб-сервер. Администратор веб-сервера может просматривать эту информацию и отключать доступ при подключении к IP-адресу, а не к имени хоста xyz.abc.com . Таким образом, вы можете запустить несколько сайтов на одном IP-адресе.

  2. Зависит от используемого веб-сервера. Каждый настроен по-разному. Обычно вы можете использовать логику и даже регулярные выражения для сопоставления IP-адресов, доменных имен и ресурсов в запросе, а затем выбирать то, что вы предоставляете клиенту. Чтобы изменить это поведение, вам потребуется административный доступ к веб-серверу.

0

Возможно, веб-сервер настроен для идентификации виртуальных хостов по имени хоста. Это означает, что браузер должен отправить HTTP-заголовок «host». В вашем случае «host: xyz.abc.com». Таким образом, веб-сервер знает, какой сайт доставить. Браузер делает это, если вы используете имя для подключения, но, конечно, не можете, когда вы не вводите имя, кроме ip.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .