8

Я пытаюсь перенаправить google.com на свой локальный компьютер для развлечения и изучения этого файла /etc /hosts на моем Mac.

127.0.0.1 www.google.com

Тем не менее, www.google.com по-прежнему отображается на главной странице Google, когда я захожу в Chrome на моем Mac. Зачем?

По сути, это все, что я сделал:

  1. Введите sudo vim /etc/hosts в терминале.
  2. Введено 127.0.0.1 www.google.com в файл hosts.
  3. Сохранено и выйти Vim.

3 ответа3

8

Файл hosts не работает таким образом. Вы можете использовать его только для сопоставления имен хостов с IP-адресами, а не с localhost .

В вашем случае вы бы использовали 127.0.0.1 www.google.com , т.е. сопоставьте www.google.com с 127.0.0.1.

Если вы хотите отобразить больше имен хостов на один IP, просто добавьте эти имена хостов в одну строку, например, 127.0.0.1 www.a.com www.b.com .

6

Веб-браузер - не лучший способ проверить правильность синтаксиса hosts . Попробуйте выполнить

ping www.google.com

и убедитесь, что он пингует 127.0.0.1 .

Причина, по которой Chrome игнорирует ваш файл hosts заключается в кешировании:

Если Chrome уже запросил IP-адрес в последнее время (определение в последнее время, скорее всего, зависит от времени жизни (TTL), возвращаемого DNS-сервером), он пропустит файл hosts , поскольку он уже знает правильный IP-адрес. Это сделано для ускорения просмотра веб-страниц.

Чтобы Chrome уважал новую запись, сделайте следующее:

  1. Отредактируйте /etc/hosts как описано @Renan.

  2. Перейдите в chrome://chrome/settings/clearBrowserData .

  3. Выбирай since the beginning of time .

  4. Установите флажок Empty the cache , но снимите все остальное.

  5. Нажмите Clear browsing data и дождитесь его завершения.

  6. Перезапустите Chrome.

Теперь Chrome должен уважать ваш файл hosts .

1

Мой ответ является комбинацией вышеупомянутого, потому что я подключаюсь к своему офису через Fortinet SSL VPN для Ubuntu 16.04.

Первое, что мне нужно было сделать, это вызвать консоль терминала и выполнить следующую команду:

sudo nano /etc/resolvconf/resolv.conf.d/base

Я добавил следующий пример:

searchdomain domain.local
nameserver xxx.xxx.xxx.xxx
nameserver xxx.xxx.xxx.xxx

Затем я сохранил файл, нажав CTRL-O и закрыл nano, нажав CTRL-X .

Затем я сделал следующее, и это сработало отлично:

Чтобы Chrome уважал новую запись, сделайте следующее:

Отредактируйте /etc/hosts как описано @Renan.

  1. Перейдите в chrome://chrome/settings/clearBrowserData .
  2. Выбирай с начала времен.
  3. Проверьте Очистить кеш, но снимите все остальное.
  4. Нажмите Очистить данные просмотра и дождитесь его завершения.
  5. Перезапустите Chrome.

Теперь Chrome должен уважать ваш файл hosts.

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