nginx缓存引发的问题
请求为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
nginx缓存引发的问题的更多相关文章
- 网易技术分享:Nginx缓存引发的跨域惨案
推荐:更多技术团队分享文章 关注:MAYOU18技术专栏 1. 前言 贵金属wap版直播间上线后,偶尔有用户反馈,在进入wap直播间的时候,出现空白页面,但是重新刷新又可以正常显示了.我们曾一度认为是 ...
- ASP.NET Core 缓存技术 及 Nginx 缓存配置
前言 在Asp.Net Core Nginx部署一文中,主要是讲述的如何利用Nginx来实现应用程序的部署,使用Nginx来部署主要有两大好处,第一是利用Nginx的负载均衡功能,第二是使用Nginx ...
- nginx缓存设置proxy_cache
http://www.cnblogs.com/dudu/p/4597351.html http块: proxy_cache_path /tmp/cache levels=1:2 keys_zone=n ...
- nginx缓存配置的操作记录梳理
web缓存位于内容源Web服务器和客户端之间,当用户访问一个URL时,Web缓存服务器会去后端Web源服务器取回要输出的内容,然后,当下一个请求到来时,如果访问的是相同的URL,Web缓存服务器直接输 ...
- nginx 缓存机制
nginx 缓存机制 Nginx缓存的基本思路 利用请求的局部性原理,将请求过的内容在本地建立一个副本,下次访问时不再连接到后端服务器,直接响应本地内容 Nginx服务器启动后,会对本地磁盘上的缓 ...
- Nginx 缓存参数
看看这下面两个指令参数: ----------------------------------------------------------------- proxy_cache_path /ho ...
- 分布式Nginx缓存清理(PHP的socket编程)
最近,公司要使用康乐的几台自建CDN换成Nginx,在缓存配置上不会有很多的问题,纠结的问题是:Nginx的如何批量进行缓存清理 我们都知道Nginx提供了一个第三方的模块"nginx ng ...
- nginx缓存优先级(缓存问题者必看)
接触nginx的兄弟或多或少都有遇到缓存问题,要么是nginx为什么不缓存,要么就是nginx缓存很快就失效等等问题,在网上找了一遍nginx缓存优先级的文章,大家可以参考下. 架构图client端 ...
- Nginx实现负载均衡&Nginx缓存功能
一.Nginx是什么 Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambl ...
随机推荐
- Tomcat部署Solr4.10.4
前段时间学习solr,兴致勃勃的从官网下载到solr5.3.0最新版本,然后在后期部署时出现了很多问题.首先,4.0到5.0是个大版本更新,下载 的压缩包的文件结构有了很多变化,导致网上很多关于sol ...
- C#实现略缩图
public class GenerateThumbnail { private Image imageFrom; /// <summary> /// 源图的路径(含文件名及扩展名 /// ...
- 【转】libevent源码分析
libevent源码分析 转自:http://www.cnblogs.com/hustcat/archive/2010/08/31/1814022.html 这两天没事,看了一下Memcached和l ...
- Maven国内下载站点
鉴于一些原因,从maven中央仓库download依赖包时,被各种折磨,下面就简单看下maven setting.xml的一些简单配置 先贴几个国内可用的maven repository连接: htt ...
- 浅谈Java中的hashcode方法
哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率.在Java的Object类中有一个方法: 1 public native int hashCode(); 根据 ...
- centos 安装rmagick 2.13.4出错
因为安装redmine,缺少rmagick,使用bundle install安装依赖的gem,报错如下: 然后,网上查询一下,都是ubuntu系统下的解决方案. centos下正确的解决方法如下: y ...
- js运动框架完成块的宽高透明度及颜色的渐变
了解了运动框架完成块元素的宽高和透明度的变化的原理,我想着写一个颜色的变化来练习一下,不想写了很长时间才写出来,跟各位分享一下. 颜色的变化是通过三元素渐变的方式完成的,通过构造json,使当前的颜色 ...
- shell中bc expr [ ] (( ))的使用方法
http://blog.chinaunix.net/uid-20671208-id-3552751.html
- sql语句-ALTER TABLE
在工作中常遇到要维护数据库表的列,这里主要介绍sql语句中的ALTER TABLE 语句.ALTER TABLE 语句用于在已有的表中添加.修改或删除列. 如需在表中添加列,请使用下列语法: ALTE ...
- (原)android4.2以后获取应用程序和缓存大小的方法(源码有改变)
以前获取应用的大小是用 PackageManager mPackageManager= getPackageManager(); try {Method getPackageSizeInfoMetho ...