由于一些原因,需要反向代理一些ip经常变化的站点,最初以为只要把域名填好就行,ip变化的时候,nginx会根据ddns域名来回源,但是事实并非如此,在每一次更换ip地址之后,都要reload一下nginx。。。因为,nginx在启动时就已经把源站的域名解析成IP了,然后缓存它。。。如果域名的解析变了,nignx也不会有任何动作。

那么,解决方案是什么?

配置文件如下

server {
... ...
       resolver 8.8.8.8 valid=60s;
       resolver_timeout 60s;
... ...
location /
{   
... ...
    set $mydomain example.com:8443;
    proxy_pass https://$mydomain;
... ...
}

https://www.nginx.com/blog/dns-service-discovery-nginx-plus/

https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver

THE END