nginx 访问控制之 document_uri】的更多相关文章

这就用到了变量$document_uri,根据前面所学内容,该变量等价于$uri,其实也等价于location匹配. 示例1: if ($document_uri ~ "/admin/") { return ; } 说明:当请求的uri中包含/admin/时,直接返回403. if结构中不支持使用allow和deny. 测试链接: . www.xxx.com//admin/.html 匹配 . www.xxx.com/admin123/.html 不匹配 . www.xxx.com/a…
1.nginx防盗链编辑:vim /usr/local/nginx/conf/vhost/test.com.conf写入: location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)${expires 7d;valid_referers none blocked server_names *.test.com ;if ($invalid_referer) {return 403;}access_log of…
一.Nginx防盗链 配置如下,可以和上面的配置结合起来 location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ { expires 7d; valid_referers none blocked server_names *.test.com ; if ($invalid_referer) { return 403; } access_log off; } 重加载 二.Nginx访问控制 需求:访问…
Nginx基于$document_uri的访问控制,变量$document_uri该变量等价于$uri,其实也等价于location匹配. 示例1: 当用户请求的url中包含/admin/时,直接返回403,注意:if结构中不支持使用allow和deny if ($document_uri ~ "/admin/") { return 403; } #1. www.xuliangwei.com/123/admin/1.html 匹配 #2. www.xuliangwei.com/admi…
1.访问控制 涉及模块:ngx_http_access_module 模块概述:允许限制某些 IP 地址的客户端访问. 对应指令: allow 语法: allow address | CIDR | unix: | all; 默认值: - 作用域: http, server, location, limit_except 允许某个 IP 或者某个 IP 段访问.如果指定 unix,那将允许 socket 的访问.注意:unix 在 1.5.1 中新加入的功能,如果你的版本比这个低,请不要使用这个方…
Nginx提供HTTP的Basic Auth功能,配置了Basic Auth之后,需要输入正确的用户名和密码之后才能正确的访问网站. 我们使用htpasswd来生成密码信息,首先要安装httpd-tools,在httpd-tools中包含了htpasswd命令.需要依赖一个工具,先检查一下系统是否已经安装此工具. rpm -qf /usr/bin/htpasswd 如果没有安装此工具,那么可以yum命令安装 yum install -y httpd-tools 接下来我们就可以创建用户和密码了,…
基于IP的访问控制,基于Nginx的http_access_module模块,是Nginx本身内置的模块,不需要安装的时候配置.也就是允许哪些IP访问,不允许哪些IP访问 server { listen ; server_name example.com; access_log logs/access.log main; location / { deny 192.168.1.1; allow ; allow ; allow :0db8::/; deny all; #从上到下的顺序,类似ipta…
一 Nginx连接限制 1.1 HTTP协议的连接与请求 HTTP是建立在TCP, 一次HTTP请求需要先建立TCP三次握手(称为TCP连接),在连接的基础上再进行HTTP请求. HTTP请求建立在一次TCP连接基础上,对于HTTP会话,一次TCP连接可以建立多次HTTP请求. HTTP协议版本 连接关系 HTTP1.0 TCP不能复用 HTTP1.1 顺序性TCP复用 HTTP2.0 多路复用TCP复用 1.2 相关模块 Nginx自带的limit_conn_module模块(TCP连接频率限…
单看nginx模块名ngx_http_access_module,很多人一定很陌生,但是deny和allow相比没一个人不知道的,实际上deny和allow指令属于ngx_http_access_module.我们想控制某个uri或者一个路径不让人访问,在nginx就得靠它了. nginx的访问控制模块语法很简单,至少比apache好理解,apache的allow和deny的顺序让很多初学者抓头.好了具体看下这个插件的使用方法吧. 1.安装模块 这个模块内置在了nginx中,除非你安装中使用了-…
安装httpd yum install -y httpd 使用htpasswd生产密码文件 htpasswd -c /usr/local/nginx/conf/htpasswd aming# -c 表示创建文件, aming是用户名# 当添加用户时,需要去掉 -c 参数# 修改密码的方式和添加用户的方式相同 配置nginx用户认证 location /admin/ { auth_basic "Auth"; auth_basic_user_file /usr/local/nginx/co…
nginx限速可以通过 ngx_http_limit_conn_module 和 ngx_http_limit_req_module 模块来实现限速的功能. 一.ngx_http_limit_conn_module : 该模块主要限制下载速度. 1.并发连接限制: http { ... limit_conn_zone $binary_remote_addr zone=aming:10m; ... server { ... limit_conn aming ; ... } } 说明:首先用limi…
Nginx的deny和allow指令是由ngx_http_access_module模块提供,Nginx安装默认内置了该模块. 除非在安装时有指定 --without-http_access_module. 语法: 语法:allow/deny address | CIDR | unix: | all 它表示,允许/拒绝某个ip或者一个ip段访问.如果指定unix:,那将允许socket的访问. 注意:unix在1..1中新加入的功能. 在nginx中,allow和deny的规则是按顺序执行的.…
一.用户认证1.首先需要用http来生成密码文件即安装apache :yum install -y httpd 生成密码文件:htpasswd -c /usr/local/nginx/conf/htpasswd [username] 首次使用 需要加-c参数 并输入密码.2.在nginx虚拟主机配置文件中加入 location ~ .*admin\.php$ { auth_basic "Auth"; auth_basic_user_file /usr/local/nginx/conf/…
根据 IP 限制访问: location /admin/ { allow 192.168.1.1; allow 192.168.1.2; deny all; } 根据正则限制访问: location ~.*(abc|image)/.*\.php$ { deny all; } 根据 user_agent 限制访问: if ($http_user_agent ~ 'Spider/3.0|YoudaoBot|tomato') { deny all; }…
在rewrite时,曾经用过该变量,当时实现了防盗链功能. 其实基于该变量,我们也可以做一些特殊的需求. 示例: 背景:网站被黑挂马,搜索引擎收录的网页是有问题的,当通过搜索引擎点击到网站时,却显示一个博彩网站. 由于查找木马需要时间,不能马上解决,为了不影响用户体验,可以针对此类请求做一个特殊操作. 比如,可以把从百度访问的链接直接返回404状态码,或者返回一段html代码. if ($http_referer ~ 'baidu.com') { return ; } 或者 if ($http_…
user_agent大家并不陌生,可以简单理解成浏览器标识,包括一些蜘蛛爬虫都可以通过user_agent来辨识. 通过访问日志,可以发现一些搜索引擎的蜘蛛对网站访问特别频繁,它们并不友好. 为了减少服务器的压力,其实可以把除主流搜索引擎蜘蛛外的其他蜘蛛爬虫全部封掉. 另外,一些cc攻击,我们也可以通过观察它们的user_agent找到规律. 示例: if ($user_agent ~ 'YisouSpider|MJ12bot/v1.4.2|YoudaoBot|Tomato') { return…
$request_uri比$docuemnt_uri多了请求的参数. 主要用来针对请求的uri中的参数进行控制. 示例: if ($request_uri ~ "gid=\d{9,12}") { return ; } 说明:\d{,}是正则表达式,表示9到12个数字,例如gid=1234567890就符号要求. 测试链接: . www.xxx.com/index.php?gid=&pid= 匹配 . www.xxx.com/gid= 不匹配 背景知识: 曾经有一个客户的网站cc…
在生产环境中,我们会对某些特殊的请求进行限制,比如对网站的后台进行限制访问. 这就用到了location配置. 示例1: location /aming/ { deny all; } 说明:针对/aming/目录,全部禁止访问,这里的deny all可以改为return . 示例2: location ~ ".bak|\.ht" { return ; } 说明:访问的uri中包含.bak字样的或者包含.ht的直接返回403状态码. 测试链接举例: . www.xxx.com/.bak…
nginx负载均衡 Nginx通过upstream和proxy_pass实现了负载均衡.本质上也是Nginx的反向代理功能,只不过后端的server为多个. 1.简单的轮询 upstream www { server 172.37.150.109:80; server 172.37.150.101:80; server 172.37.150.110:80; } server { listen 80; server_name www.aminglinux.com; location / { pro…
6月11日任务 12.13 Nginx防盗链12.14 Nginx访问控制12.15 Nginx解析php相关配置12.16 Nginx代理 扩展502问题汇总 http://ask.apelearn.com/question/9109location优先级 http://blog.lishiming.net/?p=100 12.13 Nginx防盗链 设置防盗链的配置内容可以和前一章静态文件不记录日志和过期时间放同一个配置文件里面 [root@jimmylinux- ~]# vim /usr/…
Nginx 常见应用技术指南[Nginx Tips] 第二版 作者:NetSeek http://www.linuxtone.org (IT运维专家网|集群架构|性能调优) 目 录 一. Nginx 基础知识 二. Nginx 安装及调试 三. Nginx Rewrite 四. Nginx Redirect 五. Nginx 目录自动加斜线: 六. Nginx Location 七. Nginx expires 八. Nginx 防盗链 九. Nginx 访问控制 十. Nginx日志处理 十一…
前言 任何一个工具都有它的灵魂所在,作为一个PHP程序员,我们可能仅仅使用了它的一小部分,这篇文章让你更加了解Nginx,本章大多都是总结.翻译.整理 ,希望你可以知道nginx不仅仅是PHP的附属品,更宏观的认识它的强大. 变量 内置变量存放在 ngx_http_core_module 模块中,变量的命名方式和apache 服务器变量是一致的.总而言之,这些变量代表着客户端请求头的内容,例如$http_user_agent, $http_cookie, 等等.下面是nginx支持的所有内置变量…
目录 一. Nginx 基础知识 二. Nginx 安装及调试 三. Nginx Rewrite 四. Nginx Redirect 五. Nginx 目录自动加斜线: 六. Nginx Location 七. Nginx expires 八. Nginx 防盗链 九. Nginx 访问控制 十. Nginx 日志处理 十一.Nginx Cache服务配置 十二.Nginx 负载均衡 十三.Nginx简单优化 十四.如何构建高性的LEMP 十五.Nginx监控 十六.常见问题与错误处理 一. N…
Nginx 常见应用技术指南[Nginx Tips] 第二版 目 录 一. Nginx 基础知识二. Nginx 安装及调试三. Nginx Rewrite四. Nginx Redirect五. Nginx 目录自动加斜线:六. Nginx Location七. Nginx expires八. Nginx 防盗链九. Nginx 访问控制十. Nginx日志处理十一. Nginx Cache十二. Nginx 负载均衡十三. Nginx简单优化十四. 如何构建高性能的LEMP环境十五. Ngin…
Nginx快速入门-菜鸟笔记   1.编译安装nginx 编译安装nginx 必须先安装pcre库. (1)uname -a 确定环境 Linux localhost.localdomain 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux (2)yum install -y pcre pcre-devel -y 必须安装pcre库(实现nginx rewrite模块功…
Nginx基础 1.  nginx安装 2.  nginx 编译参数详解 3.  nginx安装配置+清缓存模块安装 4.  nginx+PHP 5.5 5.  nginx配置虚拟主机 6.  nginx location配置 7.  nginx root&alias文件路径配置 8.  ngx_http_core_module模块提供的变量 9.  nginx日志配置 10. apache和nginx支持SSI配置 12. nginx日志切割 13. Nginx重写规则指南 14. nginx…
转载:http://bbs.linuxtone.org/thread-25588-1-1.html Nginx基础 1.  nginx安装 2.  nginx 编译参数详解 3.  nginx安装配置+清缓存模块安装 4.  nginx+PHP 5.5 5.  nginx配置虚拟主机 6.  nginx location配置 7.  nginx root&alias文件路径配置 8.  ngx_http_core_module模块提供的变量 9.  nginx日志配置 10. apache和ng…
1.地址重写:访问server_name的时候跳转到http://www.cnblogs.com/qinyujie/ 修改nginx配置文件.加入到server{...}字段或者location字段里面:使用rewrite301跳转到指定的地址. listen 80; server_name www.qinyujie.com; rewrite ^/(.*)$ http://www.cnblogs.com/qinyujie/$1 last; 2.企业安全,nginx禁止使用ip访问: 修改ngin…
一.Nginx访问控制 (1)基于授权的访问控制 Nginx于Apache一样,可以实现基于用户授权的访问控制,当客户端要访问相应网站或者目录时要求输入用户名密码才能正常访问,配置步骤与Apache基本一致 第一步:生成用户密码认证文件,使用htpasswd生成用户认证文件,如果没有该命令,可使用yum安装httpd-tools软件包,用法与之前讲解Apache认证时一样 ~]#htpasswd -c /usr/local/nginx/passwd.db test #回车后会让输入两次密码 修改…