nginx 反向代理 proxy_pass DNS 緩存問題


有個項目用 nginx 配置了反向代理,

location / {
    proxy_pass http://d.example.com:8080;
}

其中 d.example.com 是動態解析的域名. 用了幾天之后發現一個問題, 動態域名更改 IP 后, nginx 還是發送到舊的 IP. 從 error 日志看到錯誤. 查了下官文的文檔, 原來是 nginx 啟動加載配置文件時, 會把域名解析成 IP, 也就是域名只被解析一次. 網上搜了一下有網友指出用變量代替直接寫域名的方法, 經測試方法可行.

# 動態解析域名必須配置 resolver 域名服務器, valid 是緩存 dns 過期時間
resolver 8.8.8.8 valid=30s;
 
# 把域名寫到變量
set $my_host "http://d.example.com:8080";
 
location / {
    proxy_pass $my_host;
}

 

轉自:https://blog.csdn.net/afeiqiang/article/details/105129798


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM