HTTP核心模块支持一些内置变量,变量名与apache里的对应。比如 $http_user_agent,$http_cookie等表示HTTP请求信息的变量。
更多变量:
$args, 请求中的参数;
$content_length, HTTP请求信息里的"Content-Length";
$content_type, 请求信息里的"Content-Type";
$document_root, 针对当前请求的根路径设置值;
$document_uri, 与$uri相同;
$host, 请求信息中的"Host",如果请求中没有Host行,则等于设置的服务器名;
$limit_rate, 对连接速率的限制;
$request_method, 请求的方法,比如"GET"、"POST"等;
$remote_addr, 客户端地址;
$remote_port, 客户端端口号;
$remote_user, 客户端用户名,认证用;
$request_filename, 当前请求的文件路径名
$request_body_file, ??
$request_uri, 请求的URI,带参数;
$query_string, 与$args相同;
$scheme, 所用的协议,比如http或者是https,比如rewrite ^(.+)$ $scheme://example.com$1 redirect;
$server_protocol, 请求的协议版本,"HTTP/1.0"或"HTTP/1.1";
$server_addr, 服务器地址,如果没有用listen指明服务器地址,使用这个变量将发起一次系统调用以取得地址(造成资源浪费);
$server_name, 请求到达的服务器名;
$server_port, 请求到达的服务器端口号;
$uri, 请求的URI,可能和最初的值有不同,比如经过重定向之类的。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/iinel/archive/2009/07/04/4321383.aspx
nginx系统变量列表来自nginx wiki
The module ngx_http_core_module supports the built-in variables, whose names correspond with the names of variables in Apache.
First of all, these are the variables, which represent the lines of the title of the client request, for example, $http_user_agent, $http_cookie and so forth.
Furthermore, there are other variables:
$arg_PARAMETER, this variable contains the value of the GET request variable PARAMETER if present in the query string
$args, this variable is equal to arguments in the line of request;
$content_length, this variable is equal to line “Content-Length” in the header of request;
$content_type, this variable is equal to line “Content-Type” in the header of request;
$document_root, this variable is equal to the value of directive root for the current request;
$document_uri, the same as $uri;
$host, this variable is equal to line “Host” in the header of request or name of the server, to whom the request arrived, if there is no this line;
$is_args evaluates to “?” if $args is set, “” otherwise.
$limit_rate, the variable allows to limit connection rate;
$query_string, the same as $args;
$request_method, this variable is equal to the method of request, usually this “GET” or “POST”;
$remote_addr, this variable is equal to the address of client;
$remote_port, this variable is equal to the port of client;
$remote_user, this variable is equal to the name of user, authenticated by ngx_http_auth_basic_module;
$request_filename, this variable is equal to path to the file for the current request, formed from directives root or alias and URI request;
$request_body_file, client request body temporary filename;
$request_uri, this variable is equal to the complete initial URI together with the arguments;
$scheme, the HTTP scheme (http, https). Evaluated only on demand, for example:
rewrite ^(.+)$ $scheme://example.com$1 redirect;
$server_protocol, this variable is equal to the protocol of request, usually this “HTTP/1.0″ or “HTTP/1.1″;
$server_addr, the variable is equal to the server address, to whom arrived the request. As a rule, for obtaining the value of this variable is done one system call. In order to avoid system call, it is necessary to indicate addresses in directives listen and to use parameter bind;
$server_name, this variable is equal to the name of the server, to whom arrived the request;
$server_port, this variable is equal to the port of the server, to which the request arrived;
$uri, this variable is equal to current URI in the request, it can differ from initial, for example by internal redirects, or with the use of index it is file with internal redirects.
参考:http://hi.baidu.com/chiron2012/item/6c8d4711a34d449698ce3375
分享到:
相关推荐
nginx内置变量列表,根据 Nginx 源码文件 ngx_http_variables.c 提取了nginx 的内置变量。
**Nginx内置变量概述** Nginx是一个高性能的HTTP和反向代理服务器,它具有模块化设计和出色的并发处理能力。在Nginx配置中,内置变量扮演着至关重要的角色,它们允许管理员动态地获取关于请求、客户端、服务器状态...
Nginx 内置预变量都有哪些?
1,nginx内置变量 nginx 有很多内置变量可以进行简单的过滤。 $arg_name 请求行中的name参数。 $args 请求行中参数字符串。 $cookie_name 名为name的cookie。 与$uri相同。 $http_name 任意请求头的值;变量名的后...
这些内置变量极大地扩展了Nginx配置的灵活性,允许开发者根据HTTP请求的具体情况做出相应的响应。 综上所述,Nginx的自定义变量和内置预定义变量提供了强大的配置能力,使Nginx成为了一个高度可定制的Web服务器和...
经常需要配置Nginx ,其中有许多以 $ 开头的变量,经常需要查阅nginx 所支持的变量。 可能是对 Ngixn资源不熟悉,干脆就直接读源码,分析出支持的变量。 Nginx支持的http变量实现在 ngx_http_variables.c 的 ngx_...
nginx内置变量 内置变量存放在 ngx_http_core_module 模块中,变量的命名方式和apache 服务器变量是一致的。总而言之,这些变量代表着客户端请求头的内容,例如$http_user_agent, $http_cookie, 等等。下面是nginx...
以下是一些关键的 ngx_lua 内置指令及其说明: - **lua_use_default_type:** - 控制是否使用 `default_type` 指令定义的 Content-Type 默认值。这对于定制化响应类型非常有用。 - **lua_code_cache:** - 控制 ...
在“Nginx变量漫谈”中,将会探讨Nginx的内置变量以及变量的使用场景,这对于编写高级配置非常有用。 此外,Nginx的if指令虽然在某些情况下可用,但使用不当可能会导致意外的行为。因此,“Nginx的if是邪恶的”这个...
Nginx 提供了多种内置变量,同时支持自定义变量。内置变量通常用于获取特定的信息,例如请求头、请求 URI 等;自定义变量则允许用户根据需要创建和设置。 **内置变量示例**: - `$request_uri`:表示请求的 URI。 -...
- **内置变量与自定义变量**:比较内置变量与用户自定义变量的区别。 - **变量与HTTP请求处理**:探讨变量如何参与HTTP请求的处理流程。 - **变量与安全性**:分析变量使用不当可能带来的安全风险。 #### Nginx ...
为提高静态资源的访问速度,Nginx提供内置缓存功能。1.24.0版本优化了缓存控制,允许更精细地控制何时更新缓存内容。 7. **日志记录与分析** Nginx的日志模块可以帮助管理员收集和分析访问日志,监控服务器性能和...
利用Nginx的内置功能尽可能减少Lua的使用。 3. **错误调试**:使用`ngx.log`记录错误信息,结合Nginx的日志查看和分析。 4. **版本控制**:随着项目发展,确保Lua代码版本控制,便于维护和升级。 通过深入理解...
Nginx的一些特性包括作为反向代理服务器和L7负载均衡器,它还内置了Perl解释器,支持动态二进制升级,能够重写URL并拥有良好的PCRE(Perl兼容正则表达式)支持。与Apache相比,Nginx在处理静态文件、高并发连接以及...
3. **动态变量**:讲解了如何利用Nginx的内置机制来创建动态变量,例如通过HTTP请求头获取信息。 4. **变量间的相互引用**:阐述了变量如何相互引用,以及这种引用可能导致的问题和解决方案。 5. **变量的拼接**:...
5. **变量与函数**:某些Nginx模块还提供了内置函数来处理变量,例如`map`指令可以用来转换变量值。 #### 二、Nginx配置指令的执行顺序 1. **配置结构**:Nginx的配置文件是由一系列嵌套的块构成的,每个块可以...
4. **缓存**:Nginx内置缓存功能,能够缓存部分请求的结果,减少对后端服务器的压力。 **二、 ngx_rtmp模块** ngx_rtmp是Nginx的一个扩展模块,专门用于处理实时流媒体协议(RTMP)。它提供了以下功能: 1. **...