nginx

Nginx是一个高性能的HTTP和反向代理web服务器

我有个网站用的云服务器做的反向代理,由于云服务器1核1G跑不动程序,于是把后端放在了家里,但是家里的网络是家庭宽带的动态IP,必须使用DDNS把域名解析到动态IP上。

但是Nginx只有第一次访问的时候才会解析域名,域名IP更新之后Nginx还是访问原来缓存的IP地址,导致502错误。

根据设置变量的方式,可以使nginx在访问后端的时候对域名进行解析,我用的阿里云的DDNS,于是指定了阿里云DNS服务器作为域名解析的服务器。

1
2
3
4
5
6
7
8
9
10
11
12
http {
resolver 223.5.5.5 valid=60s;
#指定DNS服务器,每60秒刷新缓存
server {
location / {
set $backend_server domain.com;
#设置变量$backend_server为后端域名
proxy_pass https://$backend_server:$port;
#使用变量访问后端
}
}
}

云服务器是腾讯的,遇到一个不知道是不是普遍存在的坑:服务器启动十分钟左右,网站访问失败,查询日志发现是域名解析失败。

研究了腾讯云服务器的安全组设置,开放相应出站端口和一键放通出站流量都没用,问题依然存在。难道是阿里云的DNS服务器限制了访问频率吗?

于是我就改了DNS服务器,使用/etc/resolv.conf中默认的服务器地址。

1
resolver 127.0.0.53 valid=60s;

重启nginx后,服务恢复正常,并且不再出现解析失败的问题。


本站由 澄哥 使用 Stellar 主题创建。


本页点击量本站点击量次。
您是本站的第个小伙伴
本站已稳定运行