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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Как разделить http трафик с помощью Apache?  (Прочитано 190046 раз)

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

Оффлайн Kahooli

  • Автор темы
  • Новичок
  • *
  • Сообщений: 33
    • Просмотр профиля
   Здравствуйте. Возникла такая задача: Есть хост и две виртуалки (qemu-kvm), везде ubuntu server 22.04.
На них надо разместить три сайта, скажем site1.ru - на хосте, site2.ru и site3.ru - на виртуалках.
Как разделить http трафик в апаче на хосте, чтобы в зависимости от запроса по доменному имени пользователь перенаправлялся на site2.ru, site3.ru, или site1.ru? Пробовал прямой редирект типа:

VirtualHost *:80>
ServerName site2.ru
Redirect permanent ^/(.*)$ http://192.168.122.8/$1
</VirtualHost>

Не работает.

Оффлайн jura12

  • Старожил
  • *
  • Сообщений: 1472
  • 24.04 lubuntu
    • Просмотр профиля
Re: Как разделить http трафик с помощью Apache?
« Ответ #1 : 21 Августа 2024, 12:53:59 »
надо в файл hosts прописать айпи и имена. это ваш днс.
потом в апаче. айпи, порт, имя сервера.
Redirect permanent не нужен.
сопротивление бесполезно

Оффлайн Kahooli

  • Автор темы
  • Новичок
  • *
  • Сообщений: 33
    • Просмотр профиля
Re: Как разделить http трафик с помощью Apache?
« Ответ #2 : 21 Августа 2024, 14:17:56 »
надо в файл hosts прописать айпи и имена. это ваш днс.
потом в апаче. айпи, порт, имя сервера.
Redirect permanent не нужен.

Спасибо за ответ. А как конкретно это будет выглядеть в конфиге апача?

Оффлайн jura12

  • Старожил
  • *
  • Сообщений: 1472
  • 24.04 lubuntu
    • Просмотр профиля
Re: Как разделить http трафик с помощью Apache?
« Ответ #3 : 21 Августа 2024, 17:38:57 »
на каждой машине свой апачи. hosts будет редиректить

VirtualHost 192.168.1.2:80>
ServerName site2.ru
DocumentRoot путь к файлам
</VirtualHost>


https://httpd.apache.org/docs/2.4/en/vhosts/
сопротивление бесполезно

Оффлайн bezbo

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 1878
    • Просмотр профиля
Re: Как разделить http трафик с помощью Apache?
« Ответ #4 : 21 Августа 2024, 17:42:11 »
Не работает.

<VirtualHost *:80>

     ServerName site2.ru

     ProxyPreserveHost On
     ProxyPass / http://192.168.122.8/
     ProxyPassReverse / http://192.168.122.8/

  </VirtualHost>

Оффлайн jura12

  • Старожил
  • *
  • Сообщений: 1472
  • 24.04 lubuntu
    • Просмотр профиля
Re: Как разделить http трафик с помощью Apache?
« Ответ #5 : 21 Августа 2024, 19:30:35 »
может надо форвардить уникальные порты чтобы хост их видел как в докере.
сопротивление бесполезно

Оффлайн Kahooli

  • Автор темы
  • Новичок
  • *
  • Сообщений: 33
    • Просмотр профиля
Re: Как разделить http трафик с помощью Apache?
« Ответ #6 : 22 Августа 2024, 01:17:59 »
<VirtualHost *:80>

     ServerName site2.ru

     ProxyPreserveHost On
     ProxyPass / http://192.168.122.8/
     ProxyPassReverse / http://192.168.122.8/

  </VirtualHost>

А для использования этих директив не нужно ли активировать какой-либо мод?


Пользователь добавил сообщение 22 Августа 2024, 01:20:06:
может надо форвардить уникальные порты чтобы хост их видел как в докере.

Так потры-то стандартные, и как с помощью iptables форвардить порты в зависимости от доменного имени? По-моему никак.

Пользователь добавил сообщение 22 Августа 2024, 01:21:44:
на каждой машине свой апачи. hosts будет редиректить

VirtualHost 192.168.1.2:80>
ServerName site2.ru
DocumentRoot путь к файлам
</VirtualHost>

Там на самом деле на одном ip 2 разных сайта. В смысле на одной из виртуалок.
« Последнее редактирование: 22 Августа 2024, 02:15:37 от Kahooli »

 

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