Nginx Embedded Variables 嵌入式变量解析(4)

news/2025/2/22 6:13:26

Nginx Embedded Variables 嵌入式变量解析(4)

相关链接

  • nginx 嵌入式变量解析目录
  • nginx 嵌入式变量全目录
  • nginx 指令模块目录
  • nginx 指令全目录

一、目录

1.1 变量目录

1.1.24 ngx_stream_core_module
  • $binary_remote_addr

  • $bytes_received

  • $bytes_sent

  • $connection

  • $hostname

  • $msec

  • $nginx_versio

  • $pid

  • $protocol

  • $proxy_protocol_addr

  • $proxy_protocol_port

  • $proxy_protocol_server_addr

  • $proxy_protocol_server_port

  • $proxy_protocol_tlv_

  • $remote_addr

  • $remote_port

  • $server_addr

  • $server_port

  • $session_time

  • $status

  • $time_iso8601

  • $time_local

1.1.25 ngx_stream_geoip_module
  • $geoip_area_code

  • $geoip_city

  • $geoip_city_continent_code

  • $geoip_city_country_code

  • $geoip_city_country_code3

  • $geoip_city_country_name

  • $geoip_country_code

  • $geoip_country_code3

  • $geoip_country_name

  • $geoip_dma_code

  • $geoip_latitude

  • $geoip_longitude

  • $geoip_org

  • $geoip_postal_code

  • $geoip_region

  • $geoip_region_name

1.1.26 ngx_stream_limit_conn_module
  • $limit_conn_status
1.1.27 ngx_stream_mqtt_preread_module
  • $mqtt_preread_clientid
  • $mqtt_preread_username
1.1.28 ngx_stream_proxy_protocol_vendor_module
  • $proxy_protocol_tlv_aws_vpce_id
  • $proxy_protocol_tlv_azure_pel_id
  • $proxy_protocol_tlv_gcp_conn_id
1.1.29 ngx_stream_realip_module
  • $realip_remote_addr
  • $realip_remote_port

二、解释

2.24 ngx_stream_core_module

2.24.1 变量列表
$binary_remote_addr
$bytes_received

功能:返回从客户端接收到的字节数。

描述:此变量表示自连接建立以来从客户端接收的所有数据的总字节数。它对于监控流量使用情况非常有用。

示例

nginx">server {
    listen 80;
    
    location / {
        add_header X-Bytes-Received $bytes_received;
    }
}

假设从客户端接收到的数据总量为1024字节,则响应头将包含X-Bytes-Received: 1024

$bytes_sent
$connection
$hostname
$msec
nginx_versio">nginx_version">$nginx_version
$pid
$protocol

功能:返回用于与客户端通信的协议:TCP 或 UDP。

描述:此变量指示当前连接使用的传输层协议类型,便于了解和记录连接的基础协议。

示例

nginx">server {
    listen 80;
    
    location / {
        add_header X-Protocol $protocol;
    }
}

如果连接是通过TCP协议建立的,则响应头将包含X-Protocol: TCP;如果是UDP协议,则响应头将包含X-Protocol: UDP

$proxy_protocol_addr
$proxy_protocol_port
$proxy_protocol_server_addr
$proxy_protocol_server_port
$proxy_protocol_tlv_
$remote_addr
$remote_port
$server_addr
$server_port
$session_time

功能:返回会话持续时间,以秒为单位,精确到毫秒。

描述:此变量提供自连接建立以来的时间长度,精确到毫秒级别,有助于监控会话时长和性能分析。

示例

nginx">server {
    listen 80;
    
    location / {
        add_header X-Session-Time $session_time;
    }
}

假设会话持续时间为5.789秒,则响应头将包含X-Session-Time: 5.789

$status
$time_iso8601
$time_local

2.25 ngx_stream_geoip_module

2.25.1 变量列表
$geoip_area_code
$geoip_city
$geoip_city_continent_code
$geoip_city_country_code
$geoip_city_country_code3
$geoip_city_country_name
$geoip_country_code
$geoip_country_code3
$geoip_country_name
$geoip_dma_code
$geoip_latitude
$geoip_longitude
$geoip_org
$geoip_postal_code
$geoip_region
$geoip_region_name

2.26 ngx_stream_limit_conn_module

2.26.1 变量列表
$limit_conn_status

2.27 ngx_stream_mqtt_preread_module

2.27.1 变量列表
$mqtt_preread_clientid

功能:返回MQTT CONNECT消息中的客户端ID(clientid)值。

描述:此变量用于获取MQTT连接请求中的客户端ID,便于识别和管理连接的客户端。

示例

nginx">stream {
    upstream mqtt_backend {
        server backend.example.com:1883;
    }

    server {
        listen 1883;
        proxy_pass mqtt_backend;

        mqtt_preread on;

        log_format mqtt_custom '$remote_addr - $mqtt_preread_clientid';
        access_log /var/log/nginx/mqtt_access.log mqtt_custom;
    }
}

如果MQTT CONNECT消息中的客户端ID为client123,则日志条目将包含client123

$mqtt_preread_username

功能:返回MQTT CONNECT消息中的用户名(username)值。

描述:此变量用于获取MQTT连接请求中的用户名,便于验证和授权。

示例

nginx">stream {
    upstream mqtt_backend {
        server backend.example.com:1883;
    }

    server {
        listen 1883;
        proxy_pass mqtt_backend;

        mqtt_preread on;

        log_format mqtt_custom '$remote_addr - $mqtt_preread_username';
        access_log /var/log/nginx/mqtt_access.log mqtt_custom;
    }
}

如果MQTT CONNECT消息中的用户名为user456,则日志条目将包含user456

2.28 ngx_stream_proxy_protocol_vendor_module

2.28.1 变量列表
$proxy_protocol_tlv_aws_vpce_id
$proxy_protocol_tlv_azure_pel_id
$proxy_protocol_tlv_gcp_conn_id

2.29 ngx_stream_realip_module

2.29.1 变量列表
$realip_remote_addr
$realip_remote_port

http://www.niftyadmin.cn/n/5861755.html

相关文章

数据结构系列二:包装类+泛型

包装类泛型 一、包装类(1)基本数据类型和对应的包装类(2)装箱和拆箱 二、泛型(1)什么是泛型(2)引出泛型(3)语法(4)泛型类的使用1.语法…

SpringCloud-OpenFeign初步使用

在使用RestTemplate时,会发现拼接URL时非常不美观,并且在参数多了以后拼接起来也容易出错,而Feign就是为了解决这个问题,让远程调用像调用本地方法一样优雅且方便. 功能: 更优雅的进行远程调用 使用方法: 引入依赖,由于OpenFeign是基于负载均衡的所以要引入三个依赖,openFei…

【信息系统项目管理师-案例真题】2022下半年案例分析答案和详解

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 试题一(24分)【问题1】(6分)【问题2】(10分)【问题3】(8分)试题二(26分)【问题1】(8分)【问题2】(8分)【问题3】(4分)【问题4】(6分)试题三(25分)【问题1】(12分)【问题2】(7分)【问题…

高级SQL技术在Python项目中的应用:更进一步的数据分析与集成

引言 在第一篇中,我们深入探讨了ORM框架SQLAlchemy的高级用法以及性能优化策略。然而,要充分释放数据库的潜力,我们还需要掌握更多高级SQL特性,并将其与强大的数据分析工具生态系统有效集成。本篇将聚焦于窗口函数、CTE递归查询、JSON操作、全文搜索以及与Pandas的无缝集成…

【探商宝】2025年2月科技与商业热点头条:AI竞赛、量子计算与芯片市场新格局

一、 AI大模型竞争白热化:开源与闭源的博弈 OpenAI推进"星际之门"项目 为巩固美国在AI领域的领先地位,OpenAI正在全美评估数据中心选址,得州阿比林数据中心已开建。该项目被视为算力基建的关键布局,尽管面临DeepSeek低成…

Linux-Ansible命令

文章目录 常用命令基础命令 🏡作者主页:点击! 🤖Linux专栏:点击! ⏰️创作时间:2025年02月21日18点49分 常用命令 ansible #主命令,管理员临时命令的执行工具 ansible-doc #…

【后端基础】布隆过滤器原理

文章目录 一、Bloom Filter(布隆过滤器)概述1. Bloom Filter 的特点2. Bloom Filter 的工作原理 二、示例1. 添加与查询2. 假阳性 三、Bloom Filter 的操作1、假阳性概率2、空间效率3、哈希函数的选择 四、应用 Bloom Filter 是一种非常高效的概率型数据…

不同安装路径重复R包清理

df <- as.data.frame(installed.packages()) table(duplicated(df$Package)) ids <- df$Package[duplicated(df$Package)] df2 <- subset(df, df$Package %in% ids)