Я пытаюсь перенаправить google.com на свой локальный компьютер для развлечения и изучения этого файла / etc / hosts на моем Mac.
127.0.0.1 www.google.com
Однако www.google.com по-прежнему отображается на главной странице Google, когда я захожу в Chrome на моем Mac. Зачем?
По сути, это все, что я сделал:
- Введите
sudo vim /etc/hosts
в терминале. - Вводится
127.0.0.1 www.google.com
в файл hosts. - Сохранено и выход Vim.
hosts
hosts-file
Дэвид Фокс
источник
источник
127.0.0.1 www.google.com
. Однако google.com по-прежнему ведет на главную страницу Google. Нужно ли что-нибудь обновить? Должен ли я перезагрузить компьютер?127.0.0.1 google.com
(без www) после этой строки и проверьте, работает ли она.127.0.0.1 google.com
тоже не работает. Я не уверен, что происходит ... Я знаю, что/etc/hosts
это мягкая ссылка/private/etc/hosts
на Mac, но я не думаю, что это помогает вообще.hosts
сопоставляет имена хостов с IP-адресами, а не наоборот.Веб-браузер - не лучший способ проверить
hosts
правильность синтаксиса. Попробуйте выполнитьи убедитесь, что он пингуется
127.0.0.1
.Причина, по которой Chrome игнорирует ваш
hosts
файл, кешируется:Если Chrome уже запрашивал IP-адрес в последнее время (определение в последнее время, скорее всего, зависит от времени жизни (TTL), возвращаемого DNS-сервером), он пропустит
hosts
файл, поскольку он уже знает правильный IP-адрес. Это сделано для ускорения просмотра веб-страниц.Чтобы Chrome уважал новую запись, сделайте следующее:
Отредактируйте
/etc/hosts
как описано @Renan.Перейти к
chrome://chrome/settings/clearBrowserData
.Выберите
since the beginning of time
.Проверьте
Empty the cache
, но снимите все остальное.Нажмите
Clear browsing data
и дождитесь окончания.Перезапустите Chrome.
Chrome должен уважать ваш
hosts
файл сейчас.источник
hosts
мгновенно регистрирует изменения , если запись не является именем хоста, которое уже кэшировано. Я предполагаю, что это проверяет,hosts
только если TTL прошел. С большими веб-сайтами это может занять некоторое время.chrome.exe
будет время от времени читать весь файл.net-internals/#dns
, и кэш хоста автоматически очищается при/etc/hosts
изменении.Мой ответ - комбинация вышеупомянутого, потому что я соединяюсь со своим офисом через Fortinet SSL VPN для Ubuntu 16.04.
Первое, что мне нужно было сделать, это вызвать консоль терминала и выполнить следующую команду:
Я добавил следующий пример:
Затем я сохранил файл нажатием
CTRL-O
и закрыл нано нажатиемCTRL-X
.Затем я сделал следующее, и это сработало отлично:
Чтобы Chrome уважал новую запись, сделайте следующее:
Отредактируйте
/etc/hosts
как описано @Renan.chrome://chrome/settings/clearBrowserData
.Теперь Chrome должен уважать ваш файл hosts.
источник