Хостинг Папки в корневом каталоге с помощью nginx

Иногда файл сокета mysql расположен в /var/mysql/mysql.sock на OS X. Попытка:

ln -s /var/mysql/mysql.sock /tmp/mysql.sock
10
задан 17 September 2011 в 15:26
2 ответа

Вам не нужно ничего добавлять в nginx при создании пользователя. Просто используйте что-то вроде этого в своем блоке сервера:

location ~ ^/~(.+?)(/.*)?$ {
    alias /home/$1/www$2;
    autoindex on;
}

Проверьте свои дистрибутивы / etc / skel

, если вы mkdir / etc / skel / www все каталоги пользователей, созданные adduser (или adduser-script ваших дистрибутивов), будут иметь этот каталог по умолчанию.

23
ответ дан 2 December 2019 в 22:01

Я только что наткнулся на это, и принятый ответ кажется мне ОЧЕНЬ подозрительным. Как отметил Ник Оделл в комментариях к принятому ответу, он, вероятно, подвержен атакам с обходом каталога.

Лучшее решение — иметь главный веб-корень в блоке сервера, а затем использовать символическую ссылку из веб-корня в каталог пользователя. У вас может быть несколько символических ссылок, указывающих на один и тот же целевой каталог:

/var/www/user1 -> /home/user1/www
/var/www/domainname -> /home/user1/www

Этот тип подхода также лучше работает с try_files.

1
ответ дан 26 October 2020 в 20:52

Теги

Похожие вопросы