Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Надо ли вносить изменения в /etc/hosts?  (Прочитано 5949 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн unimix

  • Активист
  • *
  • Сообщений: 537
    • Просмотр профиля
Re: Надо ли вносить изменения в /etc/hosts?
« Ответ #30 : 14 Марта 2016, 18:36:29 »
Цитировать
3. sudo gedit /etc/hosts
Указываем где можно найти наш хост, для этого добавляем в файл hosts следующую строчку:

127.0.0.1 yourhost.com

В том случае, когда ты делаешь HTTP запросы на сервер, который работает на 127.0.0.1. Другими словами, если ты установил сервер туда же, где стоит браузер из которого смотришь сайт. Настройка в файле hosts делается для клиента, а не для сервера.

Браузер, перед запросом на yourhost.com, сначала получает IP адрес сервера (в данном случае берётся из hosts и получается 127.0.0.1) и делает запрос на 127.0.0.1:80 с указанием в HTTP запросе заголовка "Host: yourhost.com". Сервер видит в запросе имя хоста и выдаёт ответ в соответствии с настройками виртуальных хостов (или дефолтный, если соответствующий виртуальный хост не был найден).

Цитировать
5. sudo /etc/init.d/apache2 reload

Устарело. Сейчас так:

sudo service apache2 reload

kononvaler

  • Гость
Re: Надо ли вносить изменения в /etc/hosts?
« Ответ #31 : 14 Марта 2016, 18:41:09 »
нет, не костыль. по запросу с браузера по ip (без указания порта) вы по умолчанию попадает на порт 80, по которому апач и перенаправляет вас на дефолтовую страницу. Но любое имя (список имен) принадлежащее одному ip адресу как в вашем случае отправляет запрос всегда на localhost (в вашем случае), потому и результат один. Создание виртуальных хостов со своими портами вполне правильное решение. Как впрочем и любое другое.
« Последнее редактирование: 14 Марта 2016, 18:44:58 от kononvaler »

Оффлайн zey_ser

  • Автор темы
  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Re: Надо ли вносить изменения в /etc/hosts?
« Ответ #32 : 14 Марта 2016, 18:52:03 »
Всем спасибо!
Отдельное спасибо @kononvaler и @unimix!

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Re: Надо ли вносить изменения в /etc/hosts?
« Ответ #33 : 14 Марта 2016, 19:05:20 »
Уважаемые, давайте подсумируем для таких заблудших как я!
Итак, единственно верным путем является!? ->
Это неверный, и тем более не единственный путь.
Ваша проблема в том, что вы полагаете, что существует какой-то "единственно верный" путь решения вашей проблемы. Его нет.
Вы полагаете, что имя сайта и файл hosts как-то связаны - они никак не связаны.

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

Если вам так хочется редактировать hosts, ОСТАВЬТЕ УЖЕ "127.0.0.1 localhost" В ПОКОЕ! Учитесь пользоваться головой и читать то, что там уже до вас написано.
Не просто так имя вашей машины вписано туда отдельной строкой с отдельным адресом.
Просто добавляйте новые адреса с вашими именами по аналогичному шаблону.
127.0.1.2 вася
127.0.1.3 петя
и т.д.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн zey_ser

  • Автор темы
  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Re: Надо ли вносить изменения в /etc/hosts?
« Ответ #34 : 14 Марта 2016, 23:36:33 »
Уважаемые, давайте подсумируем для таких заблудших как я!
Итак, единственно верным путем является!? ->
Это неверный, и тем более не единственный путь.
Ваша проблема в том, что вы полагаете, что существует какой-то "единственно верный" путь решения вашей проблемы. Его нет.
Вы полагаете, что имя сайта и файл hosts как-то связаны - они никак не связаны.

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

Если вам так хочется редактировать hosts, ОСТАВЬТЕ УЖЕ "127.0.0.1 localhost" В ПОКОЕ! Учитесь пользоваться головой и читать то, что там уже до вас написано.
Не просто так имя вашей машины вписано туда отдельной строкой с отдельным адресом.
Просто добавляйте новые адреса с вашими именами по аналогичному шаблону.
127.0.1.2 вася
127.0.1.3 петя
и т.д.
Да, на этом и остановился. Просто добавляю новые адреса. Про DNS сервер к сожалению сейчас мало что знаю, надо мануалы поизучать.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Re: Надо ли вносить изменения в /etc/hosts?
« Ответ #35 : 15 Марта 2016, 00:24:20 »
Если у вас всего один компьютер и вы не играетесь с виртуализацией, можете продолжать засорять hosts. Разница невелика.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

kononvaler

  • Гость
Re: Надо ли вносить изменения в /etc/hosts?
« Ответ #36 : 15 Марта 2016, 15:25:30 »
Рассмотрим возможность перехода по имени в различные каталоги с помощью модуля mod_rewrite.
Этот модуль уже установлен, нуждается только в активации
sudo a2enmod rewrite
и в нашем случае правке конфига апач следующим образом:
sudo gedit /etc/apache2/sites-available/000-default.conf
добавляем в конец файла
<Directory "/var/www/html">
    AllowOverride All
</Directory>
теперь рестартанем апач
sudo service apache2 restart

Здесь все, теперь предполагаем что у нас (для примера) 2 личных записи в /etc/hosts
127.0.1.1    test mysite  (формат записи: адрес имя псевдоним и псевдонимов может быть столько, сколько вам надо. Потому хотите заводите новые строки, хотите пишите в ряд, и то и другое верно, но для одной сущности плодить новые адреса как то кривовато по моему мнению.)
в root директории apache 2 каталога с разными сайтами:
/var/www/html/test /var/www/html/dir2 
в дальнейшем будем переходить в них по именам test и mysite соответственно, (второе имя dir2 сделал таким для наглядности что оно не совпадает с mysite)
для этого в /var/www/html создаем файл .htaccess
со следующим содержимым:
RewriteEngine on

RewriteCond %{HTTP_HOST} ^test$ [OR]
RewriteCond %{HTTP_HOST} ^www\.test$
RewriteRule ^/?$ "http\:\/\/test\/test" [R=301,L]

RewriteCond %{HTTP_HOST} ^mysite$ [OR]
RewriteCond %{HTTP_HOST} ^www\.mysite$
RewriteRule ^/?$ "http\:\/\/mysite\/dir2" [R=301,L]

Собственно и все, браузер при попытке обработать запрос test на основании записи в hosts попадает на локальный сервер в корневую директорию, читает правило
для test (вторая строка для www.test) и переадресовывается в третьей строке в директорию test.
Естественно в строке RewriteRule ^/?$ "http\:\/\/test\/test" [R=301,L] выделенное имя означает адрес нашего локального адреса и потому может быть любым валидным для него, то есть: localhost 127.0.0.1. 127.1.1.1 test mysite всем чем мы себя обозвали в hosts
а второе это директория куда переходим. Аналогично на втором примере.
Набираем test попадаем в /var/www/html/test
Набираем mysite попадаем /var/www/html/dir2

« Последнее редактирование: 15 Марта 2016, 15:35:51 от kononvaler »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Re: Надо ли вносить изменения в /etc/hosts?
« Ответ #37 : 15 Марта 2016, 15:30:12 »
kononvaler, к чему этот вброс был?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

kononvaler

  • Гость
Re: Надо ли вносить изменения в /etc/hosts?
« Ответ #38 : 15 Марта 2016, 15:38:15 »
Не вам точно. И это не вброс, а ответ автору поста на возможность обращения к своим локальным сайтам по имени. Проверьте свою адекватность.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Re: Надо ли вносить изменения в /etc/hosts?
« Ответ #39 : 15 Марта 2016, 15:49:06 »
Это был вброс, ничего общего с темой топика не имеющий. Вы даже сами не поняли, что вы процитировали и как это работает на самом деле.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: Надо ли вносить изменения в /etc/hosts?
« Ответ #40 : 15 Марта 2016, 16:38:30 »
kononvaler, AnrDaemon, призываю вас "жить дружно", а то раздать "пряников" придется обоим.
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн Дмитрий Бо

  • Погонщик серверов
  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 3549
  • Я не техподдержка, я за порядком слежу
    • Просмотр профиля
Re: Надо ли вносить изменения в /etc/hosts?
« Ответ #41 : 17 Марта 2016, 10:06:49 »
kononvaler,
rewrite работает после того, как запрос пришёл на сервер. Манипуляции с hosts и DNS нужны для того, чтобы запрос вообще для начала попал на сервер.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Re: Надо ли вносить изменения в /etc/hosts?
« Ответ #42 : 17 Марта 2016, 15:01:38 »
kononvaler,
rewrite работает после того, как запрос пришёл на сервер.
А толку?
Указание протокола автоматически включает режим (R)edirect, даже если не указать его во флагах (а в указанном правиле он указан явно, redirect=permanent).
Результат такого рерайта будет отослан обратно клиенту и мы там же, откуда начали.
Товарищ вбросил, не разобравшись.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

kononvaler

  • Гость
Re: Надо ли вносить изменения в /etc/hosts?
« Ответ #43 : 17 Марта 2016, 16:21:56 »
kononvaler,
rewrite работает после того, как запрос пришёл на сервер. Манипуляции с hosts и DNS нужны для того, чтобы запрос вообще для начала попал на сервер.
Странно тогда, что это работает вопреки. Я сначала потестил, потом выложил.
Запрос по моему описанию и попадает сначала на сервер за счет записи в hosts, затем уже перенаправление за счет реврайт. Не пойму где противоречие.
« Последнее редактирование: 17 Марта 2016, 16:26:55 от kononvaler »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Re: Надо ли вносить изменения в /etc/hosts?
« Ответ #44 : 17 Марта 2016, 16:41:09 »
Противоречие в redirect
Тестить мало надо понимать.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.034 секунд. Запросов: 25.