关于 nginx 做 tcp 反代的域名解析设置
现在通过 nginx stream 模块做 tcp 反向代理
stream {
upstream example-ser{
server example.com:1234;
}
server {
listen 1234;
proxy_connect_timeout 10s;
proxy_timeout 10s;
proxy_pass example-ser;
}
}
如果 example.com 的地址解析出现变化,nginx 还是转发到原先的 IP 地址。
在 stream 模块内使用 set 提示报错
stream {
resolver 223.5.5.5 valid=60s;
set $example-ser example.com:1234;
server {
listen 1234;
proxy_connect_timeout 10s;
proxy_timeout 10s;
proxy_pass $example-ser;
}
}
#报错
nginx[21518]: nginx: [emerg] "set" directive is not allowed here in
HTTP 或 HTTPS 我都是使用 resolver 加 set 变量方法做的,tcp 四层现在不知道怎么配置。
求解答,谢谢