nginx配置的大坑proxyPass

很多情况下我们都是


proxyPass http://mydomain/path/xxxx

但是这样会存在一个问题,这个mydomain后面的实际机器ip或vip发生变化时,nginx仍然会向原来的ip/vip转发,除非重启nginx。

正确的做法是:

 set $host  mydomain

proxyPass http://$host/path/xxxx


这样在mydomain对应的ip/vip发生变化时,nginx虽然会有几次缓存,但很快会解析到新的ip/vip而不用重启。


原理相当于配置文件在启动时进行编译,proxyPass http://mydomain/path/xxxx这种方式是编译成静态的,直接替换成它解析到的ip/vip,只有重新启动时才会重新解析。

set $host  mydomain

proxyPass http://$host/path/xxxx这种方式是动态变量,每次使用都是对变量进行解析(『每次』实际上可能有缓存,但更新很快)。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值