Welcome! Log In Create A New Profile

Advanced

Помогите допилить блок до универсальной пересылки на бэкэнд

Andrey Repin
May 24, 2012 01:06PM
Здравствуйте, Уважаемый(-ая, -ое) All!

Есть такая каракатица, рождённая в воспалённом мозгу авторов ISPManager:

server {
listen 80;
server_name example.com www.example.com;
rewrite ^(/manager/.*)$ https://$host$1 permanent;
error_page 404 = @fallback;
location ~* ^/(webstat/|awstats|webmail/|myadmin/|manimg/) {
proxy_pass http://192.168.8.169:8080;
proxy_redirect http://example.com:8080/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
location / {
proxy_pass http://192.168.8.169:8080;
proxy_redirect http://example.com:8080/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
location ~* \.(jpe?g|gif|pn[mg]|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {
root /var/www/user/data/www/example.com;
access_log /var/www/httpd-logs/example.com.access.log ;
access_log /var/www/nginx-logs/user isp;
}
location @fallback {
proxy_pass http://192.168.8.169:8080;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
}

Опустим нарушения RFC (i.e. "proxy_redirect http://example.com:8080/ /;"),
главная претензия - этот ужас срёт в файлы, управляемые debconf'ом.
Хочу от него избавиться нафиг. Но есть вопрос.

Хочу этот ужас приспособить для мультипроксирования на апач. Чтобы не менять
конфиг nginx каждый раз при создании сайтов в Webmin (фтопку ISPManager!).

Идея выглядит как-то так:

server {
listen 80;
server_name чего-то-пока-не-знаю-чего;
rewrite "^/(manager|myadmin)/" "https://$server_addr$uri" permanent;
error_page 404 = @fallback;
location ~* \.(jpe?g|gif|pn[mg]|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {
try_files @statics @fallback ;
}
location / {
try_files @fallback ;
}
location @statics {
root /var/www/user/data/www/$server_name;
access_log /var/www/httpd-logs/$server_name.access.log ;
access_log /var/www/nginx-logs/user isp;
}
location @fallback {
proxy_pass http://192.168.8.169:8080;
proxy_redirect http://192.168.8.169:8080/ http://$server_name/;
proxy_redirect http://$server_name:8080/ http://$server_name/;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
}

Два вопроса:
1. Не забыл ли я чего с недосыпу? Все ли условия оригинального блока будут
выполняться в моём шаманстве?
2. Что написать в server_name ? Можно ли вынести список серверов в отдельный
файл? Или как-то иначе это решить, по возможности не трогая файла с описанием сервера.
(Этим будет заниматься человек, не очень хорошо ориентирующийся в технических
вопросах. Не хотелось бы иметь постоянную головную боль в виде "ойсломалось" -
она не нужна ни мне, ни ему.)


--
С уважением

Andrey Repin (hell-for-yahoo@umail.ru) четверг, 24.05.2012, <18:51>
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Помогите допилить блок до универсальной пересылки на бэкэнд

Andrey Repin May 24, 2012 01:06PM

Re: Помогите допилить блок до универсальной пересылки на бэкэнд

Валентин Бартенев May 24, 2012 04:48PM

Re: Помогите допилить блок до универсальной пересылки на бэкэнд

Andrey Repin May 29, 2012 10:36AM

Re: Помогите допилить блок до универсальной пересылки на бэкэнд

Валентин Бартенев May 29, 2012 11:02AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 220
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready