Nginx是一个高性能的HTTP和反向代理web服务器
我有个网站用的云服务器做的反向代理,由于云服务器1核1G跑不动程序,于是把后端放在了家里,但是家里的网络是家庭宽带的动态IP,必须使用DDNS把域名解析到动态IP上。
但是Nginx只有第一次访问的时候才会解析域名,域名IP更新之后Nginx还是访问原来缓存的IP地址,导致502错误。
根据设置变量的方式,可以使nginx在访问后端的时候对域名进行解析,我用的阿里云的DDNS,于是指定了阿里云DNS服务器作为域名解析的服务器。
1 | http { |
云服务器是腾讯的,遇到一个不知道是不是普遍存在的坑:服务器启动十分钟左右,网站访问失败,查询日志发现是域名解析失败。
研究了腾讯云服务器的安全组设置,开放相应出站端口和一键放通出站流量都没用,问题依然存在。难道是阿里云的DNS服务器限制了访问频率吗?
于是我就改了DNS服务器,使用/etc/resolv.conf
中默认的服务器地址。
1 | resolver 127.0.0.53 valid=60s; |
重启nginx后,服务恢复正常,并且不再出现解析失败的问题。