Apache + Nginx + mod_rpaf

1. Устанавливаем Apache

yum install httpd
chkconfig httpd on

— меняем в /etc/httpd/conf/httpd.conf Listen 80 на Listen 8080

— также меняем порт и у виртуальных хостов на 8080

service httpd start

2. Устанавливаем Nginx

yum install nginx
chkconfig nginx on

— редактируем файл /etc/nginx/nginx.conf ниже конфиг проксирования статики

user  vadim;                            # имя пользователя
worker_processes  4;                    # кол-во процесов

events {
worker_connections  1024;               # кол-во соединений
}

http {
default_type  application/octet-stream;

log_format  main  '$remote_addr - $remote_user [$time_local] $status '
                '"$request" $body_bytes_sent "$http_referer" '
        '"$http_user_agent" "http_x_forwarded_for"';
                                    
access_log  /var/log/nginx/access.log  main;
                                    
sendfile       on;
tcp_nopush     on;
tcp_nodelay    on;
                                    
server {
    listen       80;
    server_name gamearmy.ru www.gamearmy.ru;
    access_log  /var/log/nginx-gamearmy.ru-access.log  main;
                                    
    # Main location
    location / {
        proxy_pass         http://127.0.0.2:8080/;
        proxy_redirect     off;
                                    
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
                                
        client_max_body_size       50m;
        client_body_buffer_size    128k;
                            
        proxy_connect_timeout      90;
        proxy_send_timeout         90;
        proxy_read_timeout         90;
                                    
        proxy_buffer_size          4k;
        proxy_buffers              4 32k;
        proxy_busy_buffers_size    64k;
        proxy_temp_file_write_size 64k;
    }
                                    
    # Static files location
        location ~* ^.+\.(jpg|jpeg|gif|ico|css|tgz|gz|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|js)$ {
        root   /var/www/gamearmy.ru;
    }
}


server {
    listen       80;
    server_name ipmania.ru www.ipmania.ru;
    access_log  /var/log/nginx-ipmania.ru-access.log  main;
                
    # Main location
    location / {
        proxy_pass         http://127.0.0.3:8080/;
        proxy_redirect     off;
                                            
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
                                                                        
        client_max_body_size       50m;
        client_body_buffer_size    128k;
                                                                                        
        proxy_connect_timeout      90;
        proxy_send_timeout         90;
        proxy_read_timeout         90;
                                                                                                                
        proxy_buffer_size          4k;
        proxy_buffers              4 32k;
        proxy_busy_buffers_size    64k;
        proxy_temp_file_write_size 64k;
    }
                                                                                                                                                    
    # Static files location
       location ~* ^.+\.(jpg|jpeg|gif|ico|css|tgz|gz|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|js)$ {
       root   /var/www/ipmania.ru;
    }
}

}
service nginx start

3. Устанавливаем mod_rpaf для корректного определения ip пользователей

wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.5.tar.gz
tar -zxvf mod_rpaf-0.5.tar.gz
apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
make
make rpaf-2.0
make install-2.0

— если все нормально должен появиться /usr/lib64/httpd/modules/mod_rpaf-2.0.so файл

4. Редактируем httpd.conf

— дописываем в него следующее

LoadModule rpaf_module modules/mod_rpaf-2.0.so
## Mod_rpaf settings
RPAFenable On
RPAFproxy_ips 213.208.174.4 realip [realip1] # ip меняем на нужный который у сервера
RPAFsethostname On

5. При виртуальных серверах лучше ставить mod_realip2 для корректного определения ip пользователей

— скачиваем тут http://centos.alt.ru/pub/mod_realip2/

— дописываем в httpd.conf

# Включаем модуль
RealIP On
# Задаем список IP адресов для которых делаем перезапись
RealIPProxy 127.0.0.2 127.0.0.3
# Указываем из какого Header-а берем ip
RealIPHeader X-Real-IP
service httpd restart
Micro
Author: Micro

///

Поделиться в социальных сетях
0 0 голоса
Рейтинг статьи
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии