📜  NGINX变量|变量列表(1)

📅  最后修改于: 2023-12-03 14:44:35.883000             🧑  作者: Mango

NGINX变量

在NGINX配置中,变量是一种非常有用的工具,可以在不同的上下文中存储和传递值。变量可以存储来自客户端请求的信息,也可以在相同或不同的配置块中进行传递和共享。在本文中,将介绍一些NGINX常用的变量以及它们的用途。

变量列表

以下是一些NGINX常用的变量及其用途。

客户端请求相关变量

这些变量存储客户端请求的信息。

$request_method

存储请求方法(GET、POST、PUT等)。

$scheme

存储请求方案(httphttps)。

$http_user_agent

存储浏览器的用户代理字符串。

$remote_addr

存储客户端的IP地址。

$request_uri

存储请求的URI(Uniform Resource Identifier)。

$query_string

存储请求的查询参数字符串。

服务器相关变量

这些变量存储有关服务器本身的信息。

$host

存储请求被发送到的服务器的主机名。

$server_name

存储服务器名。

$server_addr

存储服务器IP地址。

$server_port

存储服务器端口号。

响应相关变量

这些变量存储有关响应的信息。

$status

存储响应状态码。

高级变量

这些变量允许执行计算或操作。

$upstream_response_time

存储从上游服务器接收到响应所花费的时间。

$request_time

存储客户端请求的处理时间。

使用变量

变量可以在配置中的任何位置使用。例如:

location / {
    add_header X-Request-Method $request_method;
    add_header X-Request-URI $request_uri;
    proxy_set_header X-Forwarded-For $remote_addr;
}

在这个示例中,变量$request_method$request_uri用于添加名为X-Request-MethodX-Request-URI的HTTP响应头。变量$remote_addr用于设置HTTP请求头X-Forwarded-For

总结

NGINX的变量是存储和传递值的有用工具。它们可以存储客户端请求的信息,也可以在相同或不同的配置块中进行传递和共享。NGINX提供了许多有用的变量,包括客户端请求变量、服务器相关变量和响应变量。变量可以在配置中的任何位置使用,允许执行计算或操作。

参考链接: