Помогите разобраться с виртуальными хостами в jail

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Духовитин
мл. сержант
Сообщения: 114
Зарегистрирован: 2014-12-17 8:46:05

Помогите разобраться с виртуальными хостами в jail

Непрочитанное сообщение Духовитин » 2016-01-27 21:51:46

Доброго дня!

Хочу проконсультироваться с вами в таком вопросе:
Есть сервер FreeBSD 10 amd64. Поднял на нём в клетках почту, mysql и dns.
Хочу также в клетках запустить веб-сервера, да так чтобы на каждый виртуальный хост была своя клетка.
Как я понимаю сделать это можно используя reverse proxy.

Прошу советов да помощи вашей, как это именно сделать?

Из мыслей у меня, что проксированием будет заниматься nginx и в зависимости от имени запрашиваемого хоста раскидывать запросы по клеткам.
В клетках же будет apache+php.

С nginx'ом к сожалению не было у меня опыта работы, потому хочу по минимум на грабли наступать. Покажите плиз участки конфига nginx которые должны за проксирование запросов отвечать.

Спасибо!
Кто не рискует - тот не пьёт шампанского.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Amadeus
ст. сержант
Сообщения: 331
Зарегистрирован: 2008-10-05 12:42:44
Откуда: Kiev

Помогите разобраться с виртуальными хостами в jail

Непрочитанное сообщение Amadeus » 2016-01-28 11:36:03

Мне кажется вы немного путайте термины.
1) Зачем вам на каждый виртуальный хост (почитайте что это такое) своя клетка?

2) Насчет участков конфига, лучше тут http://nginx.org/ru/docs/http/ngx_http_ ... odule.html
Нет ничего невозможного

Аватара пользователя
Духовитин
мл. сержант
Сообщения: 114
Зарегистрирован: 2014-12-17 8:46:05

Помогите разобраться с виртуальными хостами в jail

Непрочитанное сообщение Духовитин » 2016-01-28 16:14:47

Amadeus писал(а):Мне кажется вы немного путайте термины.
1) Зачем вам на каждый виртуальный хост (почитайте что это такое) своя клетка?
Пока я не думаю что путаю термины. И что такое виртуальный хост тоже вроде как знаю.
А на каждый виртуальный хост мне своя клетка, так это же очевидно зачем. Сайты разные, разных сайтостроителей. И уж если какой-то из сайтов будет скомпрометирован, то чтобы это по минимуму затронуло другие сайты и хост. Можно конечно ограничения документрутом и ограниченым php для каждого вхоста рассматривать, но к сожалению не я рассказываю сайтостроителям каким образом им писать сайты и в итоге сайты зачастую не работают с php безопасном режиме или другими ограничениями.
Amadeus писал(а):2) Насчет участков конфига, лучше тут http://nginx.org/ru/docs/http/ngx_http_ ... odule.html
Это я посмотрю, но всё-же прошу у кого есть уже опыт в организации чего-то подобного, поделиться опытом.
Кто не рискует - тот не пьёт шампанского.

Аватара пользователя
Amadeus
ст. сержант
Сообщения: 331
Зарегистрирован: 2008-10-05 12:42:44
Откуда: Kiev

Помогите разобраться с виртуальными хостами в jail

Непрочитанное сообщение Amadeus » 2016-01-28 16:30:07

Пока я не думаю что путаю термины. И что такое виртуальный хост тоже вроде как знаю.
1) Именно путаете, так как задача, которую вы описали - это не создание клеток для виртуальных хостов так как виртуальный хост, это директива веб сервера.
Ваша задача создание Х отдельных окружений для работы разных проектов, в каждом из которых может быть Y виртуальных хостов вообще рандомного типа на разных веб серверах, в которых будут работать совершенно рандомные проекты И это правильно).
Я почему уточняю, если в клетке будет стоять twisted, например с поднятым интерфейсом, где будем виртуальный хост создавать?), а если java висит? И так далее и тому подобные кейсы.

2) Насчет конфига, ну вот вам например сферический конь в вакуме.

У вас неправильный подход, надо сначала читать документацию, проще будет понять).

Код: Выделить всё

location  / {
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_pass   http://127.0.0.1:81;
            proxy_connect_timeout      120;
            proxy_send_timeout         120;
            proxy_read_timeout         120;
            proxy_send_lowat           12000;
            index  index.php index.html index.htm;
}

}
+ не забываем что реверс прокси так же может прекрасно обрабатывать статику
Нет ничего невозможного

Аватара пользователя
Духовитин
мл. сержант
Сообщения: 114
Зарегистрирован: 2014-12-17 8:46:05

Помогите разобраться с виртуальными хостами в jail

Непрочитанное сообщение Духовитин » 2016-01-28 18:21:51

Amadeus писал(а): 1) Именно путаете, так как задача, которую вы описали - это не создание клеток для виртуальных хостов так как виртуальный хост, это директива веб сервера.
Согласен, подловил на терминологии :)
Amadeus писал(а):Ваша задача создание Х отдельных окружений для работы разных проектов, в каждом из которых может быть Y виртуальных хостов вообще рандомного типа на разных веб серверах, в которых будут работать совершенно рандомные проекты И это правильно).
Я почему уточняю, если в клетке будет стоять twisted, например с поднятым интерфейсом, где будем виртуальный хост создавать?), а если java висит? И так далее и тому подобные кейсы.
С описание того что мне надо совершенно верно, а вот то, что разные платформы крутиться будут, это нет. Я это всё делаю не в качестве хостера, а в конторе где работаю для разных проектов (продажи того или иного объекта) создаётся сайт объекта (ЖК или БЦ и т.д.). И хотя как писать сайты я сайтостроителям указывать не могу, но уж тех требования к платформе на которой сайт будет работать точно жестко оговариваю. Да в принципе все сайтостроители дальше {L,F}AMP не залезают. Так что явы и питоны не появляются. А если уж такое случится, то отдельное окружение под такой проект настрою.
Amadeus писал(а): 2) Насчет конфига, ну вот вам например сферический конь в вакуме.

У вас неправильный подход, надо сначала читать документацию, проще будет понять).
.....
Спасибо за пример!
А раскидывать по клеткам в зависимости от запрошенного домена это как я уже нарыл:

Код: Выделить всё

server {
        listen *:8080;
        server_name  host1.ru;
        access_log  /var/log/nginx/host1.ru-access.log  proxy;
        error_log   /var/log/nginx/host1.ru-error.log;
        location  / {
              proxy_set_header Host $host;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forwarded-For $remote_addr;
              proxy_pass   http://127.0.0.1:81;
              proxy_connect_timeout      120;
              proxy_send_timeout         120;
              proxy_read_timeout         120;
              proxy_send_lowat           12000;
              index  index.php index.html index.htm;
       }
}

server {
        listen *:8080;
        server_name  host2.ru;
        access_log  /var/log/nginx/host2.ru-access.log  proxy;
        error_log   /var/log/nginx/host2.ru-error.log;
        location  / {
              proxy_set_header Host $host;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forwarded-For $remote_addr;
              proxy_pass   http://127.0.0.1:82;
              proxy_connect_timeout      120;
              proxy_send_timeout         120;
              proxy_read_timeout         120;
              proxy_send_lowat           12000;
              index  index.php index.html index.htm;
       }
}

Спасибо за объяснения!
Кто не рискует - тот не пьёт шампанского.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35126
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Помогите разобраться с виртуальными хостами в jail

Непрочитанное сообщение Alex Keda » 2016-02-01 8:32:08

mpm-itk
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Духовитин
мл. сержант
Сообщения: 114
Зарегистрирован: 2014-12-17 8:46:05

Помогите разобраться с виртуальными хостами в jail

Непрочитанное сообщение Духовитин » 2016-02-01 11:45:52

Alex Keda писал(а):mpm-itk
Лис, ты предельно лаконичен :)

Модуль этот себе на заметку конечно возьму. Но уже сделал как хотел. Да и всё-таки мне кажется что каждому по клетке всё-ж надёжней будет. Опять же для всяких phpmyadmin'ов и postfixadmin'ов да своих поделок поставил в клетке lighttpd а вот сторонние сайты с полпинка под лайтом не запускаются, а разработчики на это говорят, что подавай им стандартный апач и всё тут. Опять же с клетками проще это разруливается.
Кто не рискует - тот не пьёт шампанского.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35126
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Помогите разобраться с виртуальными хостами в jail

Непрочитанное сообщение Alex Keda » 2016-02-02 14:10:01

ИП адреса не резиновые....
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Amadeus
ст. сержант
Сообщения: 331
Зарегистрирован: 2008-10-05 12:42:44
Откуда: Kiev

Помогите разобраться с виртуальными хостами в jail

Непрочитанное сообщение Amadeus » 2016-02-02 14:21:10

ИП адреса не резиновые....
proxy_pass и lo0 решают тут проблему)
Нет ничего невозможного

Аватара пользователя
Духовитин
мл. сержант
Сообщения: 114
Зарегистрирован: 2014-12-17 8:46:05

Помогите разобраться с виртуальными хостами в jail

Непрочитанное сообщение Духовитин » 2016-02-02 14:33:46

Alex Keda писал(а):ИП адреса не резиновые....
Amadeus писал(а):proxy_pass и lo0 решают тут проблему)
Да, у меня как верно подметил товарищ Амадеус все клетки имеют в качестве адресов алиасы на локальном интерфейсе.
Так что их поди хватит :)
Кто не рискует - тот не пьёт шампанского.