set_encode_base64

指令 `set_encode_base32` 将给定变量的值编码为 Base32 格式。

语法set_encode_base32 $var_name [padding];
默认值none
上下文http, server, location, if in server, if in location
参数1-2

说明

指令 set_encode_base32 对字符串变量进行处理并将其编码为 Base32 格式,这是一种将二进制数据编码为 ASCII 字符串的方法。在不支持二进制的环境中表示二进制数据时,这尤其有用。该指令接受一个或两个参数;主要参数是要编码的变量,可选的第二个参数指定填充行为,表明是否在编码输出中包含填充字符。当变量被编码时,数据使用 Base32 编码方案进行转换,将二进制数据替换为可打印的 ASCII 字符,从而实现安全的文本表示。

例如,如果您有一个包含敏感数据的变量,可以使用 set_encode_base32 将其转换为更便于传输的格式,从而避免在日志或 HTTP headers 中出现二进制数据处理问题。此外,该指令可在 httpserverlocation 以及 if 块中使用,使其在各种配置中具有很高的灵活性。处理后的输出将存储在另一个变量中,可在 NGINX 的操作中进一步使用,例如 headers 或 response body modifications。

配置示例

location /example {
    set $data "Hello World!";
    set_encode_base32 $data;
    add_header X-Encoded-Data $data;
}

确保输入变量已定义;否则,编码可能会失败。

注意输出变量被覆盖;如果不重定向,结果会存储在同一个变量中。

← 返回所有指令