有人熟悉 nginx 吗?我试图在流块中以有条件的方式启用 proxy_protocol,即对于某些端点,我希望添加代理协议标头。对于其他人我不想添加它。查看文档,proxy_protocol 无法获取变量(尝试了 map 指令) 关于如何实现此目的有什么建议吗?在这里添加了我的 nginx 配置。 http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_protocol
这是有问题的部分proxy_protocol $proxy_state;
map $ssl_preread_server_name $proxy_state{
default on;
facebook.com off;
}
server {
listen 8443 ;
resolver 8.8.8.8 ipv6=off;
proxy_pass $server;
proxy_protocol $proxy_state;
ssl_preread on;
}
Run Code Online (Sandbox Code Playgroud)
以下是完整的配置
error_log logs/error.log;
events {
}
stream {
map $ssl_preread_server_name $server {
# default 127.0.0.1:8080;
default unix:/var/run/nginx.sock;
include /home/user/allow_url_list;
}
map $ssl_preread_server_name $proxy_state{
default on;
facebook.com off;
}
server {
listen 8443 ;
resolver 8.8.8.8 ipv6=off;
proxy_pass $server;
proxy_protocol $proxy_state;
ssl_preread on;
} …Run Code Online (Sandbox Code Playgroud)