nginx 内置变量详解及隔离进行简单的拦截

 更新时间:2016年12月21日 11:05:45   投稿:lqh  
这篇文章主要介绍了nginx 隔离进行简单的拦截详解的相关资料,这里对nginx内置变量进行了简单的介绍并对隔离拦截进行了详解, 需要的朋友可以参考下

1,nginx内置变量

nginx 有很多内置变量可以进行简单的过滤。

$arg_name
请求行中的name参数。
$args
请求行中参数字符串。
$cookie_name
名为name的cookie。
与$uri相同。
$http_name
任意请求头的值;变量名的后半部为转化为小写并且用下划线替代横线后的请求头名称。
$host
“Host”请求头的值,如果没有该请求头,则为与请求对应的虚拟主机的首要主机名。
$query_string
与$args相同。
$realpath_root
按root指令或alias指令算出的当前请求的绝对路径。其中的符号链接都会解析成真是文件路径。
$remote_addr
客户端IP地址。
$remote_port
客户端端口。
$remote_user
为基本用户认证提供的用户名。
$request
完整的原始请求行。
$request_body
请求正文。在由proxy_pass指令和 fastcgi_pass指令处理的路径中, 这个变量值可用。
$request_body_file
请求正文的临时文件名。处理完成时,临时文件将被删除。 如果希望总是将请求正文写入文件,需要开启client_body_in_file_only。 如果在被代理的请求或FastCGI请求中传递临时文件名,就应该禁止传递请求正文本身。 使用proxy_pass_request_body off指令 和fastcgi_pass_request_body off指令 分别禁止在代理和FastCGI中传递请求正文。
$request_completion
请求完成时返回“OK”,否则返回空字符串。
$request_filename
基于root指令或alias指令,以及请求URI,得到的当前请求的文件路径。
$request_method
HTTP方法,通常为“GET”或者“POST”。
$request_time
请求处理的时间,单位为秒,精度是毫秒(1.3.9, 1.2.6);请求处理时间从由客户端接收到第一个字节开始计算。
$request_uri
完整的原始请求行(带参数)。
$scheme
请求协议类型,为“http”或“https”。
$status
响应状态码。
$tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, $tcpinfo_rcv_space
客户端TCP连接的信息,在支持套接字选项TCP_INFO的系统中可用。
$uri
当前请求规范化以后的URI。变量$uri的值可能随请求的处理过程而改变。 比如,当进行内部跳转时,或者使用默认页文件

特别需要注意的几个:

$arg_name
请求行中的name参数。
$http_name
任意请求头的值;变量名的后半部为转化为小写并且用下划线替代横线后的请求头名称。
$cookie_name
名为name的cookie

这个几个都是变量其中的name是具体的参数名称。

设计的特别精巧,和lua的类似。具体进行参数拦截就这样直接写了。

2,拦截head中token

比如在做移动客户端开发的时候,timestamp,token,sign,uuid参数

这个4个参数都是必须加上的。增加防刷的安全性。

token是客户端登录token。sign是请求数据签名。

防止别人拿到url然后刷登录接口。

最后一个是uuid,设备号,也能起到一定的防护作用。

禁用一个header头里面的uuid为Android-uuid-1122998800。注意这里是$http_uuid 后面的uuid 是header头里面的参数。

  if ($http_uuid ~ 'android-uuid-1122998800') {
      return 403 "Error uuid forbidden.";
   }

进行ip拦截。如果发现有ip攻击直接禁用掉。

 if ($remote_addr ~ '10.198.2.2') {
      return 403 "Error uuid forbidden.";
   }

禁用攻击日志。这部分日志会影响数据处理,直接禁用掉。

    access_log off;

4,总结

可以禁用跳转,处理,其中里面有常用的内置变量。

可以根据自己的业务逻辑组织下。提供系统稳定性。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • 高性能软件负载OpenResty介绍和安装使用详解

    高性能软件负载OpenResty介绍和安装使用详解

    OpenResty是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项,这篇文章主要介绍了高性能软件负载OpenResty介绍和安装,需要的朋友可以参考下
    2023-12-12
  • nginx代理去掉URL前缀的实现方法

    nginx代理去掉URL前缀的实现方法

    nginx作为一款广泛使用的反向代理服务器,在实际应用中,经常需要去掉代理请求中的前缀,下面这篇文章主要给大家介绍了关于nginx代理去掉URL前缀的实现方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • Nginx基础配置(main、events、http、server、location)

    Nginx基础配置(main、events、http、server、location)

    本文主要介绍了Nginx基础配置(main、events、http、server、location),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • Nginx配置文件(nginx.conf)配置详解(总结)

    Nginx配置文件(nginx.conf)配置详解(总结)

    本篇文章主要介绍了Nginx配置文件(nginx.conf)配置详解,这对初学者有一定的参考价值,有兴趣的可以了解一下。
    2016-12-12
  • nginx前后端同域名配置的方法实现

    nginx前后端同域名配置的方法实现

    这篇文章主要介绍了nginx前后端同域名配置的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • 使用Nginx部署Vue项目全过程及踩坑记录

    使用Nginx部署Vue项目全过程及踩坑记录

    这篇文章主要介绍了使用Nginx部署Vue项目全过程及踩坑记录,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Nginx 介绍及日常管理的详解

    Nginx 介绍及日常管理的详解

    这篇文章主要介绍了Nginx 介绍及日常管理的详解的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
    2017-10-10
  • Centos下编译安装Nginx教程详解

    Centos下编译安装Nginx教程详解

    这篇文章主要介绍了Centos下编译安装Nginx的教程详解,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-12-12
  • nginx 如何配置文件上传大小

    nginx 如何配置文件上传大小

    这篇文章主要介绍了nginx 如何配置文件上传大小,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-01-01
  • Nginx轻松解决跨域问题的过程详解

    Nginx轻松解决跨域问题的过程详解

    当你遇到跨域问题,不要立刻就选择复制去尝试,请详细看完这篇文章再处理 ,本文给大家详细介绍了Nginx如何轻松搞定跨域问题,文中通过代码示例额和图文介绍的非常详细,需要的朋友可以参考下
    2024-02-02

最新评论