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.

阅读全文

这里主要记录Nginx服务器的反向代理proxy_pass配置方法中容易踩坑的地方,就是经常被提到的url的/问题的相关说明,需要的朋友可以参考下 普通反向代理 Nginx的普通的反向代理配置还是比较简单的,如: location ~ /* { proxy_pass http://192.168.1.12:8080; } 或者可以 location / { proxy_pass http://192.168.1.12:8080; } 如果要配置一个相对复杂的反向代理,比如,将url中以/test/开头的请求转发到后台对应的某台server上 可以在Nginx里设置一个变量,来临时保存/test/后面的路径信息 location ^~ /test/ { if ($request_uri ~ /test/(\d+)/(.+)) { set $id $1; set $params $2; } proxy_pass http://backend$id.

阅读全文

© 2025 Yullin. All Rights Reserved
作者的图片

Yullin

Learn To Live

DevOps

China