Конечно понимаю, что это может быть и не нужно никому, коль не нашел должного решения на просторах Интернета. Однако раньше, когда компьютеры были большими, а мы маленькими, были популярны так называемые домашние странички. У гордого индейца даже модуль под это дело есть - userdir.
Недавно решил индейца загнать в бекенд, а фронтендом настроить nginx. Так вот готового решения для организации фронтенда для nginx'а не обнаружил. Недолго думая, почесал подбородок и накатал следующую конфигурацию к nginx'у. Представьте испытанное мною счастье когда это заработало.
Итак, задача заставить в фронтенде отдавать содержимое из хомдира пользователя - /home/user/public_html. Запрос к которому в браузере выглядит как http://site.name/~user:
Собственно на этом всё :) Расширения для файлов обрабатываемых в фронтенде
можете придумать и добавить самостоятельно в регулярное выражение.
Естественно, что остальную конфигурацию придумываете самостоятельно - это лишь шаблон на заметку :)
... путешествие продолжается :)
Недавно решил индейца загнать в бекенд, а фронтендом настроить nginx. Так вот готового решения для организации фронтенда для nginx'а не обнаружил. Недолго думая, почесал подбородок и накатал следующую конфигурацию к nginx'у. Представьте испытанное мною счастье когда это заработало.
Итак, задача заставить в фронтенде отдавать содержимое из хомдира пользователя - /home/user/public_html. Запрос к которому в браузере выглядит как http://site.name/~user:
location ~ ^/~([^/]*)/(.*\.(bmp|jpg|jpeg|gif|ico|png|css|doc|txt|js|zip|iso|tgz|gz|rar|bz2|7z|xls|exe|pdf|ppt|tar|wav|avi|rtf|mp3|mp4|mov|mpeg|mpg)) { access_log /var/log/nginx/access-frontend.homedir.site.name.log; alias /home/$1/public_html/$2; expires 5d; limit_rate 50k; } location ~ ^/~([^/]*)/(.*) { access_log /var/log/nginx/access-backend.homedir.site.name.log; 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 http://127.0.0.1:60080; proxy_redirect off; } location ~* ^.+\.(bmp|jpg|jpeg|gif|ico|png|css|doc|txt|js|zip|iso|tgz|gz|rar|bz2|7z|xls|exe|pdf|ppt|tar|wav|avi|rtf|mp3|mp4|mov|mpeg|mpg)$ { access_log /var/log/nginx/access-frontend.site.name.log; expires 5d; limit_rate 50k; if ($http_user_agent ~ FDM|Download) { limit_rate 50k; } } location = / { rewrite . /index.php last; } location / { access_log /var/log/nginx/access-backend.site.name.log; 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 http://127.0.0.1:60080; proxy_redirect off; }
Собственно на этом всё :) Расширения для файлов обрабатываемых в фронтенде
можете придумать и добавить самостоятельно в регулярное выражение.
Естественно, что остальную конфигурацию придумываете самостоятельно - это лишь шаблон на заметку :)
... путешествие продолжается :)
Немає коментарів:
Дописати коментар