ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Анализ шаблонов конфигура ции для панели


  • To: nginx-ru@xxxxxxxxx
  • Subject: Анализ шаблонов конфигура ции для панели
  • From: Serghey Rodin <skid@xxxxxxxx>
  • Date: Wed, 27 Apr 2011 11:23:27 +0300

Всем привет!
Я пишу панель управления хостинг серверов. На данном этапе хочу
реализовать поддержку nginx как сервера для обработки статики, а всю
динамику перекидывать на апач. Апач крутится на порту 8080,
соответсвенно nginx на порту 80. На весь ip создается такой вот вхост.
То что закоментировано можно раскоментировать средствами панели,
вызовами типа "Включить логирование".

server {
    listen       %ip%:%proxy_port% default;
    server_name  _;
    server_name_in_redirect  off;
    #access_log /var/log/nginx/%ip%.log main;

    location / {
        proxy_pass http://%ip%:%web_port%;
        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;
        proxy_pass_header       Set-Cookie;
        client_max_body_size    128m;
        client_body_buffer_size 128k;
        proxy_connect_timeout   90;
        proxy_send_timeout      90;
        proxy_read_timeout      90;
        proxy_buffers           32 4k;
   }
}


Дальше каждый клиент может включить для своего хоста отдельную
конфигурацию для оптимизации. Он может указать расширения файлов или в
целях защиты от ддоса можно настроить ограничения на кол-во
единовременных соединений с ip:

server {
    listen      %ip%:80;
    server_name %domain_idn% %alias%;
    server_name_in_redirect     off;
    error_page  500 502 503 504  /50x.html;
    #error_log  /var/log/httpd/domains/%domain%.error.log error;

    location @fallback {
        proxy_pass              http://%ip%:%port%;
        proxy_set_header        Host $host;
        proxy_set_header        X-Real-IP $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass_header       Set-Cookie;
        limit_conn limit_per_ip %limit%
    }

    location ~* ^.+\.(%extentions%)$ {
        root                    %docroot%;
        access_log              /var/log/httpd/domains/%domain%.log combined;
        access_log              /var/log/httpd/domains/%domain%.bytes bytes;
        expires                 30d;
        error_page              404 = @fallback;
    }

    location / {
        proxy_pass              http://%ip%:%port%;
        proxy_set_header        Host $host;
        proxy_set_header        X-Real-IP  $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass_header       Set-Cookie;
        limit_conn limit_per_ip %limit%
    }

    location /cgi-bin/ {
        proxy_set_header        X-Real-IP  $remote_addr;
        proxy_set_header        Host $host;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass              http://%ip%:%port%;
        proxy_pass_header       Set-Cookie;
        limit_conn limit_per_ip %limit%
    }

    location ~ /\.ht    {deny   all;}
    location ~ /.svn/   {deny   all;}
}

Буду очень признателен за экспертную оценку и совет :)

P.S. Сайт панели пока не готов, после стабильного релиза будет редизайн
vestacp.com


_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.