我正在尝试将 BPM 特定的 $WSSR 标头映射到 nginx 配置中的 Host 标头,但我继续收到“nginx:[emerg] 未知的“wssn”变量“错误。如何在 nginx 配置中访问此标头值?有没有办法转义 $ 字符?
这是我当前尝试将自定义标头和主机映射到单个值的配置
map $http_\$wssn $x_host {
default $host;
"~." $http_\$wssn;
}
Run Code Online (Sandbox Code Playgroud)
使用此地图重新加载我的配置会导致此错误
# nginx -s reload
2019/08/12 18:37:42 [emerg] 25091#25091: unknown "wssn" variable
nginx: [emerg] unknown "wssn" variable
Run Code Online (Sandbox Code Playgroud)
根据agentzh-nginx-tutorials,解决方案有点棘手。由于无法在 NGINX 变量中转义美元符号,因此您必须将其设为变量。
完全未经测试,但也许:
geo $dollar {
default "$";
}
geo $foo {
default "http_${dollar}wssn";
}
map ${dollar}${foo} $x_host {
default $host;
"~." ${dollar}${foo};
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2748 次 |
| 最近记录: |