Назад | Перейти на главную страницу

Настройка файла hosts так, чтобы он указывал на мой сервер

У меня неприятная проблема в процессе разработки / развертывания веб-сайтов; когда я работаю локально на своем сервере, адрес моей программы - localhost: 8080 / MYSERV / ..., а когда я развертываю ее, адрес - www.mysite.com / ...

Я хочу, чтобы все ссылки на моих веб-страницах были жестко привязаны к версии для развертывания. Я прочитал несколько руководств по файлам хостов, но я все еще не понимаю, как локально перенаправить запросы на www.mysite.com/ на мой локальный сервер для разработки. Я был бы очень признателен, если бы кто-нибудь мог указать мне на очевидную остроту. Заранее большое спасибо!

Внутренние ссылки не должны использовать абсолютные URL-адреса, потому что тогда их нужно перенастроить, когда сайт развернут под другим именем хоста (как вы обнаружили), и усложнить жизнь при введении обратного проксирования. Ссылки предпочтительно должны быть относительно текущего местоположения (чтобы сайт можно было легко развернуть по произвольному пути верхнего уровня) или, если это невозможно, относительно корневого пути (т. Е. /images/blah). Единственная реальная причина использовать абсолютный URL-адрес - это связывание между HTTP и HTTPS (и это, вероятно, проще сделать в конфигурации веб-сервера).

Ваш файл hosts обычно переопределяет записи DNS, но он обычно используется для решения других проблем, кроме тех, которые вы описали. Использование абсолютных путей в вашем коде - не лучшая идея, поэтому я предлагаю вам вместо этого начать использовать относительные пути.

Чтобы ответить на ваш вопрос, файл хоста содержит 2 записи в каждой строке, сначала IP-адрес, а затем имя хоста. Так например:

161.114.221.123  www.mysite.com

Если вы запрашиваете www.mysite.com из своего браузера, поиск в DNS производиться не будет, и вместо этого ваш браузер будет запрашивать www.mysite.com напрямую с 161.114.221.123. Итак, в вашем случае запись в файле hosts будет выглядеть так:

127.0.0.1  www.mysite.com

Единственная проблема, которую я вижу с этой настройкой, заключается в том, что когда вы пытаетесь запросить www.mysite.com из своего браузера, он свяжется с удаленным сервером через порт 80, где, как в приведенном вами примере, он выглядит как ваш локальный веб-сервер на самом деле прослушивает порт 8080. Вам необходимо перенастроить локальный веб-сервер для прослушивания порта 80, а также настроить соответствующий файл vhosts, чтобы он отвечал на запросы www.mysite.com.