我正在使用基于 Debian 的主机并使用 Nginx 和 PHP-FPM,我想在 nginx 中启用用户目录,并且还希望通过基本身份验证来支持多用户。这意味着当 Alex 打开 www.example.com/rutorrent;这将提示输入登录名和密码并在身份验证后,这应该指向他自己的位于 /home/alex/www/rutorrent 的 php 脚本版本以及 Bob 何时打开 www.example.com/rutorrent;这将提示登录和密码和身份验证后这应该指向他位于 /home/bob/www/rutorrent 的 php 脚本。
我已经尝试过位于此处的官方文档: http ://wiki.nginx.org/UserDir
但我不确定如何将它们配置到默认文件中,以便我可以获得所需的功能,我的 nginx 的默认配置文件在这里:
server {
server_name localhost;
location / {
try_files $uri $uri/ /index.html;
}
location /doc/ {
alias /usr/share/doc/;
autoindex on;
allow 127.0.0.1;
allow ::1;
deny all;
}
index index.php index.html index.htm;
location ~ ^/~([^/]*)(.*)\.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/sites-available/.htpasswd;
fastcgi_param SCRIPT_FILENAME /home/$1/www$2.php;
include fastcgi_params;
}
location ~ ^/~([^/]*)(.*) {
autoindex on;
alias /home/$1/www$2;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/sites-available/.htpasswd;
}
location /RPC2 {
include scgi_params;
scgi_pass localhost:5000;
}
}
有没有办法得到这个?
感谢帮助我,我得到了解决用户目录问题的线索,我在主 nginx 配置文件中使用 $remote_user 变量,当我们使用基本身份验证时,Nginx 在 $remote_user 变量中捕获用户名,所以使用用户目录的方法非常好和简单如果我们以这种方式包括:
您不能使用 nginx 配置文件执行此操作。您最好使用连接到数据库的 php 脚本进行身份验证,然后使用重定向。