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

posted @   河在谈  阅读(1042)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示