Nginx如何解析后端动态IP
众所众知,nginx可以做反向代理。
我家是电信的公网ip,有公网但是没有80和443,更别说备案了,这怎么办呢。正好看到阿里云有个2c2g的一年服务器只需40+,还有3M的宽带,做nginx转发完全够了呀!
于是我立马下单,很快的做好了nginx反向代理和域名的备案,就是你们现在所看到的这个站(blog.dimeta.top,假如是ifengdian的话应该是bing收录爬取到非公开的了😂)。
但是我发现家里的公网ip一变动,ifengdian.top的ddns解析也会一起跟着动,按理说只需要等待10分钟,ttl过去后反代的blog.dimeta.top就可以正常访问了呀,可是为啥一变动后就会502呢,而且一重启nginx就就可以了。
搜索之后发现:
nginx只会在启动时候进行一次域名解析,导致ddns更新后还是连接原ip。
经过这个博文指点:
首先想到的是,使用
upstream
进行反向代理就可以很好地解决这个问题,但是因为data.misssun.com
这个域名对应的服务器IP
地址会动态的变化,导致upstream
反向代理会出现502
的情况。通过查阅资料,发现可以通过制定
resolver
字段对域名进行间隔时间的解析,可以完美的实现动态地址解析的效果。通过resolver
可以配置多个DNS
服务器地址,Nginx
会采用轮询的方式去访问DNS
服务,Nginx
会缓存DNS
对域名解析的结果,缓存的时间由valid
指定。
我明白了只需要使用变量的方式设置反代地址,并设置10s的解析缓存,就可以完美解决这个问题
再次访问blog.dimeta.top,更改源站IP,10分钟不到就可以恢复访问,完美!
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 砂纸の小屋
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果