nginx的日志格式中,有一个字段叫做 $http_user_agent 这个其实是客户端浏览器的一个信息,比如咱们平时使用IE浏览器的话,nginx的日志中会记录类似于这样的信息:Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)这一段信息就是 $http_user_agent 了。咱们可以根据这个特点来控制客户端的请求访问。比如,现
有时候有这样的需求,凡是从百度或者google点过来的请求,也就是说,当用后搜索到你的站点时,一旦他从搜索引擎的搜索页面进到我们的网站时,就可以做一个跳转。其实,说实话,这样做也没有什么太大意义,但是nginx的确可以实现这样的操作:在配置文件的 server {} 中加入如下配置: if ($http_referer ~* "www.baidu.com"
我的需求是,想根据时间戳规则来配置rewrite跳转。默认的nginx版本是实现不了这个需求的,因为它不带有时间戳参数, 所以需要下载tengine来配置,安装和配置方法和nginx一模一样,下载地址为: http://tengine.taobao.org/核心点在于这里的 $unix_time 参考 http://tengine.taobao.org/document_cn/var
文件及目录匹配,其中:* -f和!-f用来判断是否存在文件* -d和!-d用来判断是否存在目录* -e和!-e用来判断是否存在文件或目录* -x和!-x用来判断文件是否可执行样例 : 判断访问的图片是否存在,不存在跳转到另外的域名 location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|thumb) { &nb
flag标记有:last 相当于Apache里的[L]标记,表示完成rewritebreak 终止匹配, 不再匹配后面的规则redirect 返回302临时重定向 地址栏会显示跳转后的地址permanent 返回301永久重定向 地址栏会显示跳转后的地址
假如我的站点后台地址为: http://www.abc.net/admin.php 那么我想限制只有个别ip可以访问后台,那么需要在配置文件中增加:1 2 location ~ .*admin.* {3 allow 1.1.1.1;4 allow 12.12.
为了限速,在虚拟主机中加上了一个参数:limit_conn one 1;结果导致重启nginx报错: zero size shared memory zone "one"解决办法是,去掉它。至于为什么出错,可能是因为nginx并没有支持 http_limit_conn_zone模块
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号