буду признателен за пример.
Шаг №1:Ставим Nginx[root@server ~]#apt-get install nginx
Шаг №2: Переключаем Apache2 вашего самого первого сервера для получения запросов от Nginx и из локальной сети
В file /etc/httpd2/conf/ports-available/http.conf находим и запрещаем Apache2 слушать 80 порт с адреса 13.13.13.13, разрешая локальный 80 и локальную сеть 192.168.0.1
#Listen 12.34.56.78:80
###Listen 80
Listen 127.0.0.1:80
Listen 192.168.0.1:80
перегружаем Apache2
[root@server ~]#service httpd2 restart
Шаг №3: Запускаем NginxРедактируем file /etc/nginx/nginx.conf находим
include /etc/nginx/sites-enabled.d/*.conf;
заменяем
include /etc/nginx/sites-available.d/*.conf;
Редактируем file /etc/nginx/sites-available.d/default.conf ставим реальный IP-адрес
listen 13.13.13.13:80;
server_name школа.ру www.школа.ру;
в стровках
proxy_redirect off; #убираем комментарий
proxy_set_header Host $host; #убираем комментарий
proxy_set_header X-Real-IP $remote_addr; #убираем комментарий
proxy_set_header X-Forwarded-For $remote_addr; #убираем комментарий
proxy_pass http://192.168.0.2:80/; #это изменили
Запускаем Nginx
[root@server ~]#service nginx restart
Nginx принимает соединение по внешней сетевой карте 13.13.13.13 и с именем школа.ру открывает соединение к Apache2, который у вас стоит по адресу 192.168.0.2
Таким образом можно наружу открыть много виртуальных и реальных серверов. Для этого надо создать файл /etc/nginx/sites-available.d/школа№22.conf точно такой же как и /etc/nginx/sites-available.d/default.conf но записать
server_name школа№22.ру www.школа№22.ру;
и указать другой сервер
proxy_pass http://192.168.0.3:80/; #это изменили
Или пользоваться виртуальным хостингом на первом сервере или сервере, спрятанным в локальной сети
http://forum.altlinux.org/index.php/topic,6364.msg90515.html#msg90515Шаг №4: Установим модуль:Логи nginx записывает в файл /var/log/nginx/access.log , а в логи apache сервера 192.168.0.2 вместо реальных IP-адресов падает всегда один и тот же адрес - 192.168.0.1
Если мы все-таки хотим видеть там реальные адреса, то эта проблема решается установкой модуля rpaf, который будет складывать в лог IP-адреса, переданные через заголовки X-*.
[root@server ~]#apt-get install apache2-mod_rpaf
Включаем модуль:
[root@server ~]#a2enmod rpaf
И перезапускаем apache2:
[root@server ~]#service httpd2 restart
смотрим /var/log/httpd2/access_log
192.168.0.1 - - [24/Feb/2012:18:51:02 +0600] "GET /images/vkontakte.png HTTP/1.0" 304 -
78.29.9.99 - - [24/Feb/2012:18:53:58 +0600] "GET / HTTP/1.0" 304 -
78.29.9.99 - - [24/Feb/2012:18:53:58 +0600] "GET /index.css HTTP/1.0" 304 -