0%

nginx部分常用内置变量

变量名说明备注
$host请求中的主机头(Host)字段如果请求中的主机头不可用或为空,则为处理请求的server名称(处理请求的server的server_name指令的值)。值为小写,不包含端口。
$server_name服务器名称nginx conf文件Server模块中定义的值
$server_port服务器端的端口号eg: 80、8080、443
$remote_port客户端的端口
$remote_addr客户端的IP地址
$$binary_remote_addr二进制码形式的客户端地址
$document_root当前请求在root指令中指定的值
$scheme协议eg: http、https
$cookie_COOKIEcookie中COOKIE的值eg: $cookie_iploc
$http_HEADER匹配任意请求头字段“HEADER”可以替换成任意请求头字段,如在配置文件中需要获取http请求头:“Accept-Language”,那么将“-”替换为下划线,大写字母替换为小写,形如:$http_accept_language即可。
$sent_http_HEADERHTTP响应头中的内容,HEADER为HTTP响应中的内容转为小写,-变为_(破折号变为下划线)eg: $sent_http_cache_control、$sent_http_content_type
$request_uri请求参数的原始URI无法修改,请查看$uri更改或重写URI
$uri请求中的当前URI(不带请求参数,参数位于$args)不同于浏览器传递的$request_uri的值,它可以通过内部重定向,或者使用index指令进行修改。不包括协议和主机名,例如/foo/bar.html
$document_uri与$uri相同
$argsGET请求中的参数eg: foo=123&bar=abc;
$arg_name请求中参数name的值
$query_string与$args相同
$arg_PARAMETERGET请求中变量名PARAMETER参数的值
$http_referer引导用户代理到当前页的前一页的地址信息
$http_x_forwarded-for表示 HTTP 请求端真实 IPX-Forwarded-For格式:X-Forwarded-For: client, proxy1, proxy2XFF的内容由「英文逗号+空格」隔开的多个部分组成,第一个IP是离服务端最远的设备IP,然后是每一级代理的IP
  • 通常情况下:$request_uri=$document_uri($uri)+$query_string($args)
  • eg: http://localhost:8080/test1/test2/index.php?a=1&b=2&c=3
    1
    2
    3
    4
    5
    6
    7
    8
    >$server_port:8080
    >$request_uri:/test1/test2/index.php?a=1&b=2&c=3
    >$document_uri:/test1/test2/index.php
    >$query_string: a=1&b=2&c=3
    >$uri: /test1/test2/index.php
    >$args: a=1&b=2&c=3
    >$document_root:/usr/local/nginx/html
    >$request_filename:/usr/local/nginx/html/test1/test2/index.php
-------------End of article. I appreciate whoever read and leave commends on articles.-------------

本文标题:nginx部分常用内置变量

文章作者:冷月无声

发布时间:2017年07月29日 - 20:07

最后更新:2019年03月04日 - 18:03

原始链接:https://www.lengyuewusheng.com/nginx%E9%83%A8%E5%88%86%E5%B8%B8%E7%94%A8%E5%86%85%E7%BD%AE%E5%8F%98%E9%87%8F.html

许可协议:本博客所有文章除特别声明外,均采用 BY-NC-SA 3.0许可协议。转载请注明出处!