Nginx开源DNS自动刷新功能
Nginx开源DNS自动刷新功能
使用Nginx做为代理的各位可能都知道,以前你的上游配置如果是一个域名的话,那一定会有踩坑的时候,那就是这个域名所指向的DNS是不会动态更新的,你Nginx启动的时候域名指向的哪些IP,那就一直会用这些IP,不会再去更新,即便你的DNS在后来做过变更,Nginx也是不会更新的。只有你在重新加载Nginx配置的时候才会更新。
虽然后来也出现了Lua插件可以实现这个功能,但是如果你之前是用的原生Nginx的话,那你还需要去配置Lua环境,甚至重新编译Nginx以配合Lua的生态。这无疑会增加你的维护成本。如果你使用的是Openresty这种已经集成了Lua环境的版本,但这个组件也还是需要你去安装以及做一些Lua的配置的,也还是会有一定的成本,毕竟不是原生支持的。
现在好了,Nginx官方将这个以前得付费才能使用的功能开放给开源版本了。下面是官方ChangeLog:
Changes with nginx 1.27.3 26 Nov 2024
*) Feature: the "server" directive in the "upstream" block supports the
"resolve" parameter.
*) Feature: the "resolver" and "resolver_timeout" directives in the
"upstream" block.
*) Feature: SmarterMail specific mode support for IMAP LOGIN with
untagged CAPABILITY response in the mail proxy module.
*) Change: now TLSv1 and TLSv1.1 protocols are disabled by default.
*) Change: an IPv6 address in square brackets and no port can be
specified in the "proxy_bind", "fastcgi_bind", "grpc_bind",
"memcached_bind", "scgi_bind", and "uwsgi_bind" directives, and as
client address in ngx_http_realip_module.
*) Bugfix: in the ngx_http_mp4_module.
Thanks to Nils Bars.
*) Bugfix: the "so_keepalive" parameter of the "listen" directive might
be handled incorrectly on DragonFly BSD.
*) Bugfix: in the "proxy_store" directive.
Ref: https://nginx.org/en/CHANGES
目前Openresty的Nginx版本还在1.27.1.1,估计还得等几个月,Openresty才会更新,大家耐心等待吧。
Openresty官方地址:https://openresty.org/en/download.html