Nginx 入门实战(4)--Nginx 常用变量说明

Nginx 中的很多参数可以使用内置的变量来设置,本文主要介绍一些常用的变量。

1、Nginx 配置文件中变量使用

http {
    ...
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  logs/access.log  main;
    ...
    server {
        listen       8089;
        server_name  localhost;

        location /abc {
            proxy_pass  http://10.49.196.30:8080/abc;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            ...
        }
    ...

在该配置文件中使用多个变量来定义日期格式(log_format),并使用变量来设置传递给代理服务器的请求头(proxy_set_header)。

2、常用变量说明

变量 说明
$arg_name 表示请求行中的任意参数,name 为参数名称
$args 表示请求行中的参数部分
$binary_remote_addr 二进制形式表示的客户端地址
$body_bytes_sent 发送到客户端的字节数,不包括响应头
$bytes_received 接受到客户端的字节数
$bytes_sent 发送到客户端的字节数
$connection 连接序列号
$connection_requests 当前连接的请求数量
$connection_time 连接时间,单位为:ms
$cookie_name 表示任意 cookie,name 为 cookie 名称
$date_gmt GMT 时间
$date_local 本地时间
$host 按照以下顺序获取主机信息:请求行中的主机名,或“Host”请求头字段中的主机名,或与请求匹配的服务器名。
$hostname 主机名
$http_name 表示任意请求头;name 为请求头名称,其中破折号被下划线替换并转换为小写;如:$http_user_agent,$http_x_forwarded_for
$proxy_add_x_forwarded_for 将 $remote_addr 的值附加到“X−Forwarded−For”客户端请求头中,由逗号分隔。如果客户端请求头中不存在“X−Forwarded−For”,则 $proxy_add_x_forwarded_for 等于 $remote_addr 。
$proxy_host 代理服务器的地址和端口
$proxy_port 代理服务器的端口
$query_string 同 $args
$remote_addr 客户端地址
$remote_port 客户端端口
$remote_user Basic 身份验证中提供的用户名
$request 完整请求行
$request_body  请求体
$request_body_file 保存请求体的临时文件
$request_length 请求长度(包括请求行、头部和请求体)
$request_method 请求方法
$request_time 请求处理时间,单位为:ms
$request_uri 完整请求行
$scheme 请求协议,http 或 https
$server_addr 接受请求的服务器地址
$server_name 接受请求的服务器名称
$server_port 接受请求的服务器端口
$server_protocol 请求协议,通常为 HTTP/1.0、HTTP/1.1 或 HTTP/2.0
$ssl_cipher 建立 SSL 连接所使用的加密套件名称
$ssl_ciphers 客户端支持的加密套件列表
$ssl_client_escaped_cert 客户端 PEM 格式的证书
$ssl_protocol 建立 SSL 连接的协议
$status 响应状态码
$time_iso8601 ISO 8601 标准格式的本地时间
$time_local Common Log 格式的本地时间
$upstream_addr upstream 服务器的 ip 和端口
$upstream_bytes_received 从 upstream 服务器接收的字节数
$upstream_bytes_sent 发送给 upstream 服务器的字节数
$upstream_http_name 表示 upstream 服务器任意响应头,name 为响应头名称,其中破折号被下划线替换并转换为小写
$upstream_response_length upstream 服务器的响应长度,单位为:字节
$upstream_response_time upstream 服务器的响应时间,单位为:秒
$upstream_status upstream 服务器的响应状态码
$uri  请求 uri
   

 

 

参考:https://nginx.org/en/docs/varindex.html

posted @ 2023-05-14 11:50  且行且码  阅读(354)  评论(0编辑  收藏  举报