Nginx实例:限制目录和URL以及IP访问控制
短信预约 -IT技能 免费直播动态提醒
如果我们深入研究Nginx的功能还是蛮有意思的,比如我们前面有聊到UA可以控制爬虫限制和放行访问。我们也可以利用Nginx进行控制和限制URL、目录,以及IP地址的访问。比如有一些运维的时候,需要用到屏蔽某些IP地址,或者是我们某个目录只能某个IP地址访问或者限制访问。
在这篇文章中,老蒋整理Nginx常见的控制URL、目录,以及IP地址的访问权限设置案例实例记录。
限制指定目录扩展名后缀
location ~ ^/images/.*\.(php|php5|sh|pl|py)${deny all;}location ~ ^/static/.*\.(php|php5|sh|pl|py)${deny all;}
禁止直接访问txt和doc文件
location ~* \.(txt|doc)$ {if (-f $request_filename) {root /data/www/www;rewrite ^(.*) https://www.itbulu.com/ break; #可以重定向到某个URL;}}location ~* \.(txt|doc)$ {root /data/www/www;deny all;}
禁止访问文件和目录
#禁止访问的文件或目录 location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md) { return 404; }
排除某个目录不受限制
location ~ \.well-known{ allow all; }
禁止访问单个目录的命令
location ~ ^/(static)/ {deny all;}location ~ ^/static {deny all;}
禁止访问多个目录的配置
location ~ ^/(static|js) {deny all;}
禁止目录让外界访问
location ~ ^/mysql_loging/ {allow 192.168.1.4;deny all;}location ~ .*\.(php|php5)?$ {fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;include fastcgi_params;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;}说明:该配置只允许192.168.1.4IP访问mysql_loging目录
限制IP和IP段
location / {deny 192.168.0.4;allow 192.168.1.0/16;allow 10.0.0.0/24;deny all;}说明:此限制是对某些IP做整个网站的限制访问。
非指定域名访问跳转
if ($host !~ ^www/.itbulu/.com$) {rewrite ^(.*) http://www.baidu.com$1 permanent;}
来源地址:https://blog.csdn.net/zccmp20/article/details/127403252
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341