【干货,实战经验】nginx缓存问题

文章目录

案例背景

有2个服务器A 和B,A是一个动态ip经常变公网ip,B是一个云服务器,公网ip固定.

于是我通过ddns ,找了个域名C,动态解析A服务器上的公网ip。

A服务器公网ip所在服务器里面部署了个api接口服务A-1,

在B服务器上部署了个前端应用B-1,和nginx,

在nginx中通过访问/api前缀,以proxy_pass的方式转发到A服务器的的应用A-1, 通过这个域名的方式请求.

出现的问题:

现在出的问题是:
A服务器的ip动态变了,域名解析也变了,但是请求A-1的接口失败,需要重启nginx服务才生效。

定位到问题

Nginx的DNS缓存机制未及时更新动态IP变化

解决方式

修改配置

原来的nginx配置

shell 复制代码
    location /sse-api/ { 

        proxy_pass http://development.xx.com:7890/api  # 添加/api/后缀
        proxy_set_header Host $http_host;
    }

修改后的nginx配置

shell 复制代码
    location /sse-api/ { # 大模型 - 后台接口
        resolver 8.8.8.8 223.5.5.5 valid=10s;  # 使用Google DNS,每10秒刷新解析
        set $backend_host "development.xx.com:7890";  # 仅域名+端口
        proxy_pass http://$backend_host/api/;  # 添加/api/后缀
        proxy_set_header Host $http_host;
    }    

**参数解释

  • resolver:指定DNS服务器,可替换为阿里云DNS(如223.5.5.5)或运营商DNS。
  • valid=10s:设置DNS缓存有效期为10秒,超时后自动重新解析。
  • 变更A服务器IP后,等待10秒,Nginx自动解析新IP。

大功告成!!

相关推荐
ZFB00015 分钟前
【麒麟桌面系统】V10-SP1 2503 系统知识——添加用户
linux·运维·kylin
释怀不想释怀18 分钟前
Docker(网络)
运维·docker·容器
ZFB000122 分钟前
【麒麟桌面系统】V10-SP1 2503 系统知识——进入救援模式
linux·运维·kylin
RisunJan24 分钟前
Linux命令-iptables-restore命令(从文件批量恢复 iptables 防火墙规则)
linux·运维·网络
oMcLin27 分钟前
如何在 RHEL 7 上优化 Nginx 与 PHP‑FPM 配置,确保高并发 Web 应用的稳定性与响应速度?
前端·nginx·php
轻造科技1 小时前
周期压缩极限挑战:APS排产优化这样实现
运维·devops
鲨莎分不晴1 小时前
Nginx 部署前端项目实战指南
运维·前端·nginx
知南x1 小时前
【STM32MP157 视频监控项目】(2) 移植 Nginx
stm32·nginx·音视频
Full Stack Developme2 小时前
Redis 可以实现哪些业务功能
数据库·redis·缓存
java_logo3 小时前
QWEN3 企业级 Docker 容器化部署指南
运维·docker·容器·qwen3部署·qwen3部署文档·qwen3部署教程·qwen3部署方案