nginx缓存引发的问题

本文介绍了如何停止Nginx服务,清除缓存文件,并随后重新启动服务的步骤,以解决由缓存引起的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



请求为f.chinasoft.com/file

f.chinasoft.com 域名指向slb(3.3.3.3)


业务方式:
ios-->slb(3.3.3.3)-->ecs集群(每一台ecs都有一个nginxweb服务器)-->mysql


从mysql中获取的数据为数据库的IP地址,再次通过该ip(假设为1.1.1.1)去请求对应的数据 ip(1.1.1.1)被黑客ddos已经让阿里云黑洞了43200分钟(阿里云这个配合打的不错,轻松让黑客把服务器停机一个月),解决办法是在1.1.1.1这台ecs前端加一个slb,再把需要的服务端口通过slb(2.2.2.2)映射出去


ecs被黑洞后,在前面加slb是可以和ecs进行通信的

那么问题来了,当我们把最终用户需要的1.1.1.1(被黑洞的ecs)替换为slb(2.2.2.2)后,发现通过访问f.chinasoft.com/file这个请求还是1.1.1.1,直接通过3.3.3.3/file来访问就可以返回正确的替换后的IP(2.2.2.2)即我们需要的slb的IP地址

分析:
1.数据库确认已经被修改
2.那这个有问题的数据可能被缓存在某个地方
cdn 排除
dns 排除
slb 没有这样的功能

查看后面ecs的nginx时发现每个ServerName 都配置成了f.chinasoft.com,里面有配置缓存

nginx.conf如下:

proxy_temp_path /data/proxy_cache/temp; 
proxy_cache_path /data/proxy_cache levels=1:2 keys_zone=cache_one:10m inactive=1d max_size=30g;

于是在每一台ecs上停用nginx,并删除缓存,重新启动nginx,问题解决

#停止nginx服务

/usr/local/nginx/sbin/nginx -s stop

#删除缓存

cd /data/proxy_cache/

rm -rf *

#重新启动nginx

/usr/local/nginx/sbin/nginx





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值