我的目标:阻止任何请求以下文件类型的请求:
{random name{.txt
.md
.git
如果用户尝试访问任何“被阻止”的文件类型,我希望返回 HTTP 404。这应该发生在全部文件夹,而不仅仅是根文件夹
到目前为止我的服务器代码
server {
listen 80 default_server;
listen [::]:80 default_server;
root /forum;
index index.php;
server_name forum.example.net;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
location ~ /\.ht {
deny all;
}
location ~ \.md {
deny all;
return 404;
}
location ~ /\.txt {
deny all;
return 404;
}
location ~ /\.git {
deny all;
return 404;
}
}
当我尝试访问以下网址时:/folder/test.md
它正在下载,并且没有发送“全部拒绝”,而我想阻止它
我怎样才能做到这一点?
答案1
阻止文件类型:
.md
.git
{anything}.txt
添加到服务器块:
location ~\.(git|txt|md)$ {
deny all;
return 404;
}
如果用户访问 /folder/1.txt,1.txt 将返回 HTTP 404