Проксирование обращений к BGBillingServer посредством nginx

Материал из BiTel WiKi

Версия от 07:48, 21 апреля 2008; Admin (Обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

При классической схеме сервер биллинга располагается во внутренней сети организации, nginx позволяет организовать доступ извне к серверу Web-статистики и серверам платежных систем.

Первый пример

Не очень хорош, тем что остается открытым наружу сервис executer, предназначеный для обращений клиента биллинга. Зато прост :)

Вот сделал прокси на ngingx. Отлично все летает. SSL слушает и на SSL проксирует. Могет пригодиться...

#user nobody;

worker_processes  1;

error_log  logs/error.log debug;

pid        logs/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       conf/mime.types;
    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  logs/access.log  main;

    sendfile        on;
    tcp_nopush     on;
    tcp_nodelay    on;

    server {
      
        listen               443; # что слушать  
        keepalive_timeout    70;

        ssl                  on;
        ssl_certificate      /usr/local/nginx/conf/host.ru.pam;
        ssl_certificate_key  /usr/local/nginx/conf/host.ru.key;
        ssl_session_cache    shared:SSL:10m;
        ssl_session_timeout  10m;

        access_log  logs/host.access.log  main;

        # Main location
        location / {
            
            proxy_pass         https://192.168.12.1:8443/; # куда проксировать
            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       10m;
            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;
        }
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }     
    }
Личные инструменты