更多优质内容
请关注公众号

Nginx HTTP模块篇 Nginx中的常用变量 (十七)-张柏沛IT博客

正文内容

Nginx HTTP模块篇 Nginx中的常用变量 (十七)

栏目:其他内容 系列:Nginx入门系列 发布时间:2020-02-17 21:56 浏览量:2615

Nginx变量

1.http请求相关的变量
arg_参数名     # URL中某个具体参数值
query_string   # 与args变量完全相同
args           # 全部URL参数
is_args         # 如果请求url 有参数返回?否则返回空
content_length  #http请求头Content-Length的值
content_type    # 请求头Content-Type的值
uri             # 请求的uri,不包括?后的参数
document_uri    # 同uri
request_uri     # 包括uri+?后的参数
scheme          # 协议名
request_method  # 请求方法 GET、POST
request_length  # 请求内容的大小,包括请求行,请求头,请求包体
remote_user     # auth_basic中的用户名
request_body_file   #临时存放请求包体的文件,当请求包体很大的时候会生成
request_body    # 请求包体,当使用反向代理且设定用内存来暂存包体时才会生成
request         # 请求行,如GET /?a=1&b=22 HTTP/1.1

host            # 域名,先从请求行获取,如果有Host这个请求头就用该请求头替换。如果前二者都取不到,使用server_name中匹配到url的那个域名。

http_请求头名字      # 返回一个具体请求头的名字。如 http_host(请求头中的Host项),http_user_agent(请求头中的User-Agent项,后面同理),http_referer,http_via,http_x_forwarded_for,http_cookie,像这6类,nginx可能会做一些处理,其他的http_xxx则原样输出


2.tcp连接相关的变量
binary_remote_addr      #客户端ip的整型格式,ipv4是4字节,ipv6是16字节。

remote_addr     # 客户端IP
remote_port     # 客户端端口,就是浏览器开的端口
connection_requests     # 当前连接上执行过的请求数,对keepalived连接有意义
proxy_protocol_addr     # 若使用了proxy_protocol协议则返回协议中的地址,否则返回空。例如,当做反向代理时,可以通过X-Real-IP 或者 X-Forwarded-For 获取起始客户端IP。但是如果是通过TCP层使用反向代理上游服务就不能通过这两个获取真实客户端ip,此时可以用$proxy_protocol_addr

proxy_protocol_port     # 同上
server_addr             # 服务端IP
server_port             # 服务端端口
server_protocol         # 服务端协议,如HTTP/1.1

3.nginx处理请求过程产生的变量
request_time    # 请求处理的耗时,秒
server_name     # 匹配上请求的server_name,因为server_name指令可以指定多个域名

https           # 开启了ssl则返回on,否则空
request_completion      # 请求处理完返回ok,否则返回空
request_id      # 请求的id,随机生成,16个字节
request_filename/document_root/realpath_root    # 前面描述过,是实际访问文件的路径和目录路径

limit_rate      # 客户端响应的速度上限

4.发送http响应时的变量
body_bytes_sent     # 响应中body包体的长度
bytes_sent          # 全部http响应的长度,包括响应头,响应体
status      # 状态码

5.nginx系统变量(不随请求而发生变化)
pid         # 所属worker进程的pid

可以使用  set $变量名 值; 来定义变量或者改变量的值。





更多内容请关注微信公众号
zbpblog微信公众号

如果您需要转载,可以点击下方按钮可以进行复制粘贴;本站博客文章为原创,请转载时注明以下信息

张柏沛IT技术博客 > Nginx HTTP模块篇 Nginx中的常用变量 (十七)

热门推荐
推荐新闻