nginx [engine x] - это лёгкий HTTP-сервер и почтовый прокси-сервер. Сие чудо работает на множестве серверов, в том числе на большинстве серверов Рамблера.
Примерная диаграмма работы:
HTTP Clients <--> Frontend server (nginx) <--> Backend servers (Apache, Tomcat, JBoss, etc)
Таким образом backend-сервера будут получать все запросы с единого IP-адреса, а именно с адреса proxy_ip, где установлен nginx (в случае когда backend сервер физически совпадает с frontend получим proxy_ip=127.0.0.1). В принципе это не критично, но если на конечном сервере необходимо знать адрес клиента, то придётся немного поплясать с бубном.
Решение для связки apache2 + nginx:
Для apache 1.3 используется модуль mod_realip, а для apache 2 понадобится mod_rpaf:
emerge -av www-apache/mod_rpaf
<IfDefine RPAF>
RPAFenable On
RPAFsethostname On
RPAFproxy_ips <proxy_ip>
</IfDefine>В конфигурацию nginx следует добавить:
proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
Не забываем перезапустить apache и перезагрузить конфигурацию nginx:
/etc/init.d/apache2 restart /etc/init.d/nginx reload
Comments
Это что-то вроде DMZ
Это что-то вроде DMZ получается?
Re: Это что-то вроде DMZ
В некотором роде да.