
# 客户端访问加速域名经过Nginx转发时，如何定期刷新DNS解析
#### 适用场景
如果您配置了Nginx代理转发，即：终端用户访问加速域名时，首先解析到Nginx服务器，由Nginx服务器将该请求转发到CDN节点，而Nginx服务器在启动/重载的时候会去解析转发的域名，此时域名如果修改了DNS解析，Nginx服务器将无法感知，从而导致域名无法解析，域名访问失败。
#### 解决方案
如果想要定期刷新域名DNS解析，不用重启Nginx服务器，可以通过在Nginx上配置Resolver实现。
- 示例一：
  1. Nginx服务器原"nginx.conf"配置：
     ```
     location /prod-url-test/ {
         ...
         proxy_pass http://$proxy_url;
      }
     ```
     
  
  2. 添加resolver后的配置：\*.\*.\*.\*为设备网络使用的公共DNS或本地DNS，可根据业务情况配置两个DNS，valid为解析结果有效期。
     ```
     location /prod-url-test/ {
         resolver *.*.*.* *.*.*.* valid=300s;
     resolver_timeout 10s;
        set $proxy_url "prod-url-test.example.com";
         proxy_pass http://$proxy_url;
      }
     ```
     
   
- 示例二：
  1. Nginx服务器原"nginx.conf"配置：
     ```
     location = /test/example1.txt{
     expires 30s;
     rewrite ^/test/example2.txt break;
      proxy_pass https://test.example.com;
     }
     ```
     
  
  2. 添加resolver配置：\*.\*.\*.\*为设备网络使用的公共DNS或本地DNS，可根据业务情况配置两个DNS，valid为解析结果有效期。
     ```
     set $var_host "test.example.com";
     resolver *.*.*.* *.*.*.* valid=300s;
     resolver_timeout 10s;
     location = /test/example1.txt{
     expires 30s;
     rewrite ^/test/example2.txtbreak;
      proxy_pass https://$var_host;
     proxy_set_header Host test.example.com;
     }
     ```
     
   
 
