Nginx官方文档(四十九)【ngx_stream_realip_module|ngx_stream_return_module|ngx_stream_split_clients_module】

ngx_stream_realip_module

ngx_stream_realip_module 模块用于将客户端地址和端口更改为 PROXY 协议头(1.11.4)中发送。必须先在 listen 指令中设置 proxy_protocol 参数才能启用 PROXY 协议。

该模块不是默认构建的,您可以在构建时使用 --with-stream_realip_module 配置参数启用。

示例配置

listen 12345 proxy_protocol;

set_real_ip_from  192.168.1.0/24;
set_real_ip_from  192.168.2.1;
set_real_ip_from  2001:0db8::/32;

指令

set_real_ip_from

-说明
语法set_real_ip_from address | CIDR | unix:;
默认——
上下文stream、server

定义已知可发送正确替换地址的受信任地址。如果指定了特殊值 unix:,则所有 UNIX 域套接字将被信任。

内嵌变量

  • $realip_remote_addr

    保留原始客户端地址

  • $realip_remote_port

    保留原始的客户端端口

原文档

http://nginx.org/en/docs/stream/ngx_stream_realip_module.html


ngx_stream_return_module

ngx_stream_return_module 模块(1.11.2)允许向客户端发送指定的值,然后关闭连接。

示例配置

server {
    listen 12345;
    return $time_iso8601;
}

指令

return

-说明
语法return value;
默认——
上下文server

指定要发送给客户端的值。该值可以包含文本、变量及其组合。

原文档

http://nginx.org/en/docs/stream/ngx_stream_return_module.html


ngx_stream_split_clients_module

ngx_stream_split_clients_module 模块(1.11.3)创建适用于 A/B 测试的变量,也称为拆分测试。

示例配置

stream {
    ...
    split_clients "${remote_addr}AAA" $upstream {
                  0.5%                feature_test1;
                  2.0%                feature_test2;
                  *                   production;
    }

    server {
        ...
        proxy_pass $upstream;
    }
}

指令

split_clients

-说明
语法split_clients string $variable { ... }
默认——
上下文stream

为 A/B 测试创建一个变量,例如:

split_clients "${remote_addr}AAA" $variant {
               0.5%               .one;
               2.0%               .two;
               *                  "";
}

使用 MurmurHash2 对原始字符串的值进行哈希处理。在给出的例子中,从 0 到 21474835 (0.5%)的哈希值对应于 $variant 变量的值 .one,从 21474836 到 107374180 (2%)的哈希值对应于值 .two,哈希值从 107374181 到 4294967295 对应于值 ""(空字符串)。

原文档

http://nginx.org/en/docs/stream/ngx_stream_split_clients_module.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值