20

Мой файл /etc /hosts выглядит так:

127.0.0.1       localhost
10.20.7.67      testsitealpha.dev
othersite.dev   testsitebeta.dev

Первые две работы. Последний не делает. Почему бы и нет? Как мне заставить это работать? Я делаю это потому, что у меня есть тестовый сервер (othersite.com), который находится в локальной сети, но его IP-адрес может отличаться. например, 10.20.7.98 один день, 10.20.7.35 другой и т. д.

Итак, как мне заставить мою систему всегда разрешать testsitebeta.dev к тому же ip, что и othersite.dev?

3 ответа3

9

Как уже писал Крис, проблема в том, что "othersite.dev" - это не число. Нужный формат: IP hostname1 [hostname2] [hostname3] .

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

Поэтому реальный ответ на вашу проблему не в использовании /etc/hosts , а в использовании этой иерархической системы распределенных имен . Вы можете сделать это несколькими способами. Одним из способов является CNAME, предложенный Крисом. Другим способом было бы дать второму серверу фиксированный IP-адрес. И реальный статический адрес, или зарезервируйте на сервере DHCP.

2

Формат /etc /hosts: "IP", "Hostname" - например, 127.0.0.1 localhost

Вам нужен CNAME на локальном DNS-сервере, чтобы достичь того, что вам нужно. Вы можете получить IP-адрес «othersite.dev» и связать его с «testitbeta.dev», как вы это сделали с «testitalpha.dev», но когда этот IP-адрес изменится, вам также придется изменить файл /etc/hosts .

1

Если othersite.com имеет динамический IP, но всегда доступен по имени, вы должны полагаться на его зарегистрированный DNS, всегда ссылаясь на него по имени.

Ваше решение состоит в том, чтобы сделать testsitebeta.dev перенаправляющим URL-адресом для othersite.com.

Имя_сервера testsitebeta.dev Redirect / http://othersite.com

Таким образом, othersite.com всегда работает (не нарушая его при неверном вводе хоста), а тестыitebeta.dev всегда перенаправляются на другие сайты, сопоставляя имя с правильным IP.

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