Nginx实例:限制目录和URL以及IP访问控制

发布时间:2023年10月02日 阅读:66 次

如果我们深入研究Nginx的功能还是蛮有意思的,比如我们前面有聊到UA可以控制爬虫限制和放行访问。我们也可以利用Nginx进行控制和限制URL、目录,以及IP地址的访问。比如有一些运维的时候,需要用到屏蔽某些IP地址,或者是我们某个目录只能某个IP地址访问或者限制访问。

在这篇文章中,老蒋整理Nginx常见的控制URL、目录,以及IP地址的访问权限设置案例实例记录。

1、限制指定目录扩展名后缀

location ~ ^/images/.*\.(php|php5|sh|pl|py)${deny all;}location ~ ^/static/.*\.(php|php5|sh|pl|py)${deny all;}

2、禁止直接访问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;}

3、禁止访问文件和目录

#禁止访问的文件或目录location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md) {return 404;}

4、排除某个目录不受限制

location ~ \.well-known{allow all;}

5、禁止访问单个目录的命令

location ~ ^/(static)/ {deny all;}location ~ ^/static {deny all;}

6、禁止访问多个目录的配置

location ~ ^/(static|js) {deny all;}

7、禁止目录让外界访问

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目录

8、限制IP和IP段

location / {deny 192.168.0.4;allow 192.168.1.0/16;allow 10.0.0.0/24;deny all;}说明:此限制是对某些IP做整个网站的限制访问。

9、非指定域名访问跳转

if ($host !~ ^www/.itbulu/.com$) {rewrite ^(.*) http://www.baidu.com$1 permanent;}



Tag:
相关文章

发表评论:取消回复