Nginx在经过身份验证的页面后面提供静态内容
我创建了一个目录调用库,它需要身份验证才能访问。完成身份验证后,我想为用户列出库中的所有文件。我已经尝试了自动索引,但没有任何效果,而且我发现的大多数材料都不包括身份验证是否会影响任何内容 非常感谢您的帮助,谢谢Nginx在经过身份验证的页面后面提供静态内容,nginx,server,static-content,Nginx,Server,Static Content,我创建了一个目录调用库,它需要身份验证才能访问。完成身份验证后,我想为用户列出库中的所有文件。我已经尝试了自动索引,但没有任何效果,而且我发现的大多数材料都不包括身份验证是否会影响任何内容 非常感谢您的帮助,谢谢 server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; root /usr/share/nginx/html; index index.html ind
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.html index.htm index.php;
# Make site accessible from http://localhost/
server_name localhost;
location / {
# First attempt to serve request as file, then as
# directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
# Uncomment to enable naxsi on this location include
# /etc/nginx/naxsi.rules
}
location /website {
}
location /library {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
}
您的
位置/库
块将强制要求进行基本身份验证,并将/usr/share/nginx/html/library
中相同的静态文件提供给所有能够成功进行身份验证的用户。简而言之,所有成功进行身份验证的用户将在当前配置中看到相同的文件
为不同的静态文件服务于不同的用户,请考虑基本身份验证将设置<代码> $ReleTyAuth[/Cuff>变量](参见),您可以利用它来使您的配置动态化。 例如,如果您想为每个用户ID提供不同的文件夹(在相同的
/library
URL),您可以使用如下块:
location /library {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
alias /usr/share/nginx/html/$remote_user/;
}
假设文件夹以用户ID命名并位于该路径
如果用户未能通过基本身份验证,他们将显示403禁止的错误,您可以使用error\u page
指令处理该错误,以显示比基本错误更有用的内容。同样,如果用户可以成功地进行身份验证,但相应的文件夹不存在,他们将看到404,您可以再次使用error\u page
指令来处理