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

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

相关链接

一、目录

1.1 变量目录

1.1.24 ngx_stream_core_module
  • [**binary_remote_addr**](#binary_remote_addr)

  • [**bytes_received**](#bytes_received)

  • [**bytes_sent**](#bytes_sent)

  • [**connection**](#connection)

  • [**hostname**](#hostname)

  • [**msec**](#msec)

  • [**nginx_versio**](#nginx_versio)

  • [**pid**](#pid)

  • [**protocol**](#protocol)

  • [**proxy_protocol_addr**](#proxy_protocol_addr)

  • [**proxy_protocol_port**](#proxy_protocol_port)

  • [**proxy_protocol_server_addr**](#proxy_protocol_server_addr)

  • [**proxy_protocol_server_port**](#proxy_protocol_server_port)

  • [**proxy_protocol_tlv_**](#proxy_protocol_tlv_)

  • [**remote_addr**](#remote_addr)

  • [**remote_port**](#remote_port)

  • [**server_addr**](#server_addr)

  • [**server_port**](#server_port)

  • [**session_time**](#session_time)

  • [**status**](#status)

  • [**time_iso8601**](#time_iso8601)

  • [**time_local**](#time_local)

1.1.25 ngx_stream_geoip_module
  • [**geoip_area_code**](#geoip_area_code)

  • [**geoip_city**](#geoip_city)

  • [**geoip_city_continent_code**](#geoip_city_continent_code)

  • [**geoip_city_country_code**](#geoip_city_country_code)

  • [**geoip_city_country_code3**](#geoip_city_country_code3)

  • [**geoip_city_country_name**](#geoip_city_country_name)

  • [**geoip_country_code**](#geoip_country_code)

  • [**geoip_country_code3**](#geoip_country_code3)

  • [**geoip_country_name**](#geoip_country_name)

  • [**geoip_dma_code**](#geoip_dma_code)

  • [**geoip_latitude**](#geoip_latitude)

  • [**geoip_longitude**](#geoip_longitude)

  • [**geoip_org**](#geoip_org)

  • [**geoip_postal_code**](#geoip_postal_code)

  • [**geoip_region**](#geoip_region)

  • [**geoip_region_name**](#geoip_region_name)

1.1.26 ngx_stream_limit_conn_module
  • [**limit_conn_status**](#limit_conn_status)
1.1.27 ngx_stream_mqtt_preread_module
  • [**mqtt_preread_clientid**](#mqtt_preread_clientid)
  • [**mqtt_preread_username**](#mqtt_preread_username)
1.1.28 ngx_stream_proxy_protocol_vendor_module
  • [**proxy_protocol_tlv_aws_vpce_id**](#proxy_protocol_tlv_aws_vpce_id)
  • [**proxy_protocol_tlv_azure_pel_id**](#proxy_protocol_tlv_azure_pel_id)
  • [**proxy_protocol_tlv_gcp_conn_id**](#proxy_protocol_tlv_gcp_conn_id)
1.1.29 ngx_stream_realip_module
  • [**realip_remote_addr**](#realip_remote_addr)
  • [**realip_remote_port**](#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_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
相关推荐
for_ever_love__37 分钟前
MySQL 全文索引实战:FULLTEXT、ngram 中文分词与 MATCH AGAINST 到底该怎么用
java·python·mysql·全文检索·分词·索引·ngram
java资料站41 分钟前
五、Spring AI Alibaba · Memory · Saver(短期会话)
java·spring·microsoft
夜之眷属2 小时前
Core dump 崩溃排查:JVM 宕机后,那份 core 文件怎么用 gdb 还原现场
java·运维·服务器·jvm
波加曼大王2 小时前
# vLLM不要迷信PagedAttention神话,聊聊线上藏着的内部碎片陷阱
java·架构
SL_staff2 小时前
目标健康度自检清单:开发者视角下的目标-计划-任务链路断点诊断
java·开源·github
for_ever_love__2 小时前
MySQL 高频面试题 30 问:索引、事务、锁、日志、主从与分库分表(MySQL 8.0 版)
java·数据库·spring boot·mysql·spring cloud·面试·总结
神仙别闹2 小时前
基于C++实现的贪吃蛇游戏平台
java·c++·游戏
布吉岛的石头2 小时前
Java 程序员第 49 阶段11:Java 接 BERT:用 ONNX Runtime 做句向量推理
java·人工智能·python·深度学习·bert·transformer
niucloud-admin2 小时前
JAVA V6 多商户商城 开发文档——JAVA服务端
java·开发语言
alexlifexyz2 小时前
写了个 Claude Code 插件:AI 写的 Java 违反阿里规约,就写不进文件
java