Nginx反向代理设置proxy_pass每30秒解析一次域名

NDIS herman 2316浏览 0评论
公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:xttblog,发送下载链接帮助你免费下载!
本博客日IP超过1800,PV 2600 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog,之前的微信号好友位已满,备注:返现
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
视频教程免费领

用过 nginx 的都知道它的反向代理很强大。但有时候我们在使用proxy_pass解析域名的时候出现问题,主要是我们的一个域名可能会配置多个ip的解析。例如一个百度的域名,就对应了多个ip,这时如果使用proxy_pass配置域名后,以后的访问只能出现在一台机器上,那么如果我们想让它分算在多台机器上该怎么办呢?

答案是我们可以采用动态解析,比如每隔30秒解析一次域名,获得一个新的ip。

在 Nginx 启动的时候会做域名解析,然后吧IP缓存起来以后会一直使用解析到的IP并且不会再更改,除非重新启动 Nginx,如果目标服务器采用的类似 AWS ELB 的技术就必然会产生问题。

下面说下我的动态解析的步骤:

第一步:使用cat /etc/resolv.conf命令获取服务器的DNS服务器IP。

cat /etc/resolv.conf

cat /etc/resolv.conf

第二步:配置每30秒 Nginx 重新解析一次域名。

resolver 10.0.0.2 valid=30s;
set $backends "http://www.xttblog.com:port/path";
proxy_pass $backends;

完成以上步骤,我们的配置就大功告成了!

业余草公众号

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加QQ1群:135430763(2000人群已满),QQ2群:454796847(已满),QQ3群:187424846(已满)。QQ群进群密码:xttblog,想加微信群的朋友,之前的微信号好友已满,请加博主新的微信号:xttblog,备注:“xttblog”,添加博主微信拉你进群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作可添加助理微信进行沟通!

本文原文出处:业余草: » Nginx反向代理设置proxy_pass每30秒解析一次域名