我正在/ test /上托管一个网站,但如果用户知道文件名,可以通过访问网址来访问文件.例如:domain.com/test/readmesample.txt我有它像上面设置但现在当我去domain.com/test index.html文件不会加载,我得到403禁止.如何...
我正在/ test /上托管一个网站,但如果用户知道文件名,可以通过访问网址来访问文件.例如:
domain.com/test/readmesample.txt
我有它像上面设置但现在当我去domain.com/test index.html文件不会加载,我得到403禁止.
如何进行设置,以便在进行/测试时允许加载html文件,同时仍然阻止该目录中的文件?这包括index.html以外的文件,文件夹和.files.
location ~ /test {
deny all;
}
这是我的配置文件
server {
listen 80;
listen 443 ssl default_server;
root /config/www;
index index.html index.htm index.php;
server_name www.domain.com;
ssl_certificate /config/keys/letsencrypt/fullchain.pem;
ssl_certificate_key /config/keys/letsencrypt/privkey.pem;
ssl_dhparam /config/nginx/dhparams.pem;
ssl_ciphers 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
ssl_prefer_server_ciphers on;
client_max_body_size 0;
location / {
try_files $uri $uri/ /index.html /index.php?$args =404;
}
location ~ /new {
deny all;
}
location ~ \.php${
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# With php5-cgi alone:
fastcgi_pass 127.0.0.1:9000;
# With php5-fpm:
#fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
}
先感谢您
解决方法:
你可以用以下方法明确地打破/test/index.html:
location = /test/index.html {
}
location ^~ /test {
deny all;
}
精确匹配位置具有最高优先级,并且^?修饰符将前缀位置的优先级置于同一级别的正则表达式位置之上.
有关更多信息,请参见this document
沃梦达教程
本文标题为:nginx – 阻止访问目录中的文件但允许index.html
基础教程推荐
猜你喜欢
- 如何使用AJAX实现按需加载【推荐】 2022-12-28
- Vue双向绑定v-model 2023-10-08
- 吴裕雄 人工智能 java、javascript、HTML、python、oracle ——智能医疗系统WEB端代码简洁版实现 2023-10-26
- php – 如何将结果从sql列表到html表 2023-10-26
- php – nginx – 重写或内部重定向循环,同时内部重定向到“/index.html” 2023-10-29
- Vue简单到复杂,了解到熟悉 2023-10-08
- 如果找不到,我们如何使用Apache重定向到新的HTML静态内容,并回退到基于CMS的旧PHP版本? (nginx try_files) 2023-10-25
- 【vue】 export、export default、import的用法和区别 2023-10-08
- [vue] 关于性能优化 2023-10-08
- Vue项目安装(前端)+Vuex指南 2023-10-08