まず、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;
}
location ~ regexp
単純なフォワードマッチングだけで十分なパスでregexp match()を使用し、同じ場所で自動インデックスのオン/オフを混在させる理由はわかりません。