首先我的 nginx.conf 中有这个
server {
listen 80;
root /home/user/files;
index index.php index.html index.htm;
server_name mydomain.com;
location / {
autoindex on;
}
#this option will allow auto index on video directory
location ~ ^/video {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
include /etc/nginx/conf.d/php;
autoindex on;
autoindex_exact_size on;
}
#only spesific ip allow to download files in video directory
location ~ ^/video/* {
autoindex off;
allow myip;
deny all;
}
}
它似乎允许规则不起作用,当我尝试下载视频文件时仍然遇到 403。
我的conf 有问题吗?
答案1
将它们放在同一个location
块中。
location /video/ {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
allow myip;
deny all;
include /etc/nginx/conf.d/php;
autoindex on;
autoindex_exact_size on;
}
我不明白为什么您使用 regexp match ( location ~ regexp
) 作为简单前向匹配就足够的路径,并为同一位置混合自动索引开/关。