Анализ шаблонов конфигурации для панели
Serghey Rodin
skid на linux.md
Ср Апр 27 12:23:27 MSD 2011
Всем привет!
Я пишу панель управления хостинг серверов. На данном этапе хочу
реализовать поддержку 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