IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Пингвинятник (ОС *NIX) (http://www.imho.ws/forumdisplay.php?f=76)
-   -   Apache, proxy + virtual hosts (http://www.imho.ws/showthread.php?t=145111)

Shkurik 05.01.2011 19:19

Apache, proxy + virtual hosts
 
Привет!

Топология/конфигурация:
1. Шлюз - CentOS 5.5 (x86_64), iptables, apache 2.2.17
Запросы на 80-й порт форвардятся на веб-сервер.

2. Web-server, CentOS 5.5 (x86_64), apache 2.2.3 (другие репы), виртуальные хосты (PHP, RoR, passenger).

Не могу настроить фронт-енд апач на шлюзе.
Т.е получилось на шлюзе для виртуального хоста на PHP:
NameVirtualHost IP_web_server:80
<VirtualHost domen1.test:80>
ProxyPass / http://IP_web_server:80/domen1/
ProxyPassReverse / http://IP_web_server:80/domen1/
</VirtualHost>
На RoR не получается.

Спасибо за комментарии.

ПС. Это продолжение http://imho.ws/showthread.php?t=144706

Hubbitus 05.01.2011 22:27

http://server-tuning.info/nginx/apache-frontend.html
вот пример nginx фронтенда к Апачу.
Вот с Апачем пример: http://wiki.hudson-ci.org/display/HU...d+for+security

Что не получается-то, приводите конкретнее проблемы, ошибки.

Shkurik 06.01.2011 13:40

Цитата:

Сообщение от Shkurik (Сообщение 1734127)
Т.е получилось на шлюзе для виртуального хоста на PHP:

Не корректно описал, нужно - получилось для каталога.
Т.е. если ссылаться на
ProxyPass / http://IP_web_server:80/domen1/
- работает.

Мне нужно:
один виртуалхост - ProxyPass / http://domen1/
второй виртуалхост - ProxyPass / http://domen2/
третий виртуалхост - ProxyPass / http://domen3/

Т.е. не по каталогам, а по доменным именам.

добавлено через 1 минуту
RoR-овские 2 сайта работают как виртуалхосты.
Из за этого и так.

Hubbitus 06.01.2011 21:00

Ну так разные виртуалхосты и есть разные домены. Что-то я недопонимаю до сих пор проблемы.

albo 07.01.2011 01:46

http://jackal.in/2008/08/mod-realip-apache2.html
http://stderr.net/apache/rpaf/

Shkurik 12.01.2011 13:14

Таки да.

1. На межсетевом экране:
Apache (/etc/httpd/conf/httpd.conf):
NameVirtualHost *:80
<VirtualHost *:80>
ServerName webserver.inter.local
ProxyPass / http://domen1:80/
ProxyPassReverse / http://domen1/
</VirtualHost>
/etc/hosts:
ip_address_webserver domen1


2. На веб-сервере:
Apache (/etc/httpd/conf/httpd.conf):

LoadModule rpaf_module modules/mod_rpaf-2.0.so
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1 ip_address_gate
RPAFheader X-Forwarded-For

в описании виртуальных хостов для awstats:
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined
CustomLog domen1_access_log combined

Работает. Не совсем понятно как разруливаются разные доменные имена.

Hubbitus 15.01.2011 04:55

Цитата:

Сообщение от Shkurik (Сообщение 1734997)
Работает. Не совсем понятно как разруливаются разные доменные имена.

Опишите пожалуйста точнее, что именно не понятно.

Shkurik 16.01.2011 00:33

На первом апаче модуль прокси настроен:
ProxyPass / http://domen1:80/
ProxyPassReverse / http://domen1/

Размышления:
1. На панели управления доменными именами domen1 и domen2, прописано правило перенаправления запросов http & www на IP моего шлюза.
2. На шлюзе работает апач-прокси. судя по приведенным директивам, этот апач http & www запросы (все) форвардит второму апачу - рабочему.

Непонятно как запрос на <b>domen2</b> обрабатывается?
Он то попадает на рабочий апач.

ПС. РТФМ - очень хороший совет (часто получаю на многие вопросы). Но, не так много времени на много читать.

albo 16.01.2011 02:32

очевидно, передаваемые заголовки тоже форвардятся

Hubbitus 16.01.2011 11:31

Я честно не понимаю проблемы. Что, переменная HTTP_HOST не передается!? Ну согласно спецификации HTTP/1.1.


Часовой пояс GMT +4, время: 15:53.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.