Nginx, Apache2 и mod_userdir

Jan 03, 2010 07:24

Предположим, что у нас есть frontend на nginx, который отдает статический контент и пересылает остальные запросы на backend (apache). Предположим также, что у нас на одном из virtualhosts используется mod_userdir для пользователей, которым разрешено запускать всяческие скрипты (perl/php etc ( Read more... )

nginx, apache, mod_userdir, linux, админство, Работа

Leave a comment

Comments 11

timyr_lan January 3 2010, 19:23:22 UTC
балалайка со списком разрешений мне решительно не нравится ( ... )

Reply

foboss January 4 2010, 03:41:42 UTC
При таком раскладе всплывут сразу 2 косяка:

1) mod_rewrite карачун
2) при наборе url'a вида www.example.com/~user/dir/ все заработает, а www.example.com/~user/dir - нет.

P.S. Кстати, в твоем примере location ~ /~([a-zA-Z0-9]*)/(.*) можно вполне вынести из под location / - смысла делать его вложенным при такой логике нет.

Reply

timyr_lan January 4 2010, 08:10:20 UTC
2) Дак эта, пропиши в server {} :
index index.php index.pl;
пруфф

Что есть карачун и где там что вложенное?

Reply

foboss January 4 2010, 08:20:44 UTC
Спешишь мой друг, спешишь! :)

Итак, по пунктам:
1) mod_rewrite работать перестает со всеми вытекающими
2) если набрать в браузере www.example.com/~user/dir вместо www.example.com/~user/dir/ то мы получим 404, хотя во всех остальных местах оно будет работать как надо.

Вложение в твоем конфиге:
location / {
root /srv/www/vhosts/www.example.com/;

# Userdirs with "~"
location ~ /~([a-zA-Z0-9]*)/(.*) {
root /home/;
rewrite ^/~([a-zA-Z0-9]*)/(.*)$ /$1/public_html/$2 break;
}
}

location ~ \.(php|pl)(.*)$ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_pass http://192.168.13.11:800;
}

Reply


Leave a comment

Up