我正在使用 Cloudflare 的页面规则将我网站上的所有内容(ajax.php 除外)缓存至少 5 天(图像、css、js 缓存 30 天)。
虽然所有网页内容都设置为缓存 5 天,但每当我测试它时,首先我当然会得到 Cloudflare MISS 状态,然后我会得到 Cloudflare HIT 状态,但过期响应标头似乎只设置在未来 1 小时.
为什么网站的缓存不遵循页面规则?
这是我的 apache httpd 日志:
[2015 年 5 月 13 日星期三 18:29:48] [错误] [客户端 108.162.213.59] 文件不存在:/www/html/ui/core.min.js
[2015 年 5 月 13 日星期三 18:29:48] [错误] [客户端 108.162.210.161] 文件不存在:/www/html/ui/ico.favorites.gif
[2015 年 5 月 13 日星期三 18:29:49] [错误] [客户端 108.162.213.35] 文件不存在:/www/html/ui/social.facebook.gif
[2015 年 5 月 13 日星期三 18:29:49] [错误] [客户端 108.162.210.146] 文件不存在:/www/html/ui/success.gif
[2015 年 5 月 13 日星期三 18:29:49] [错误] [客户端 108.162.210.167] 文件不存在:/www/html/ui/ico.twitter.gif
[2015 年 5 月 13 日星期三 18:29:49] [错误] [客户端 108.162.210.165] 文件不存在:/www/html/ui/social.twitter.gif
[2015 年 5 月 13 日星期三 18:29:49] [错误] [客户端 108.162.210.147] 文件不存在:/www/html/ui/ico.facebook.gif
[2015 年 5 月 13 日星期三 18:29:49] [错误] [客户端 108.162.210.42] 文件不存在:/www/html/ui/social.buzz.gif
[2015 年 5 月 13 日星期三 18:29:49] [错误] [客户端 108.162.210.147] 文件不存在:/www/html/ui/social.delicious.gif
/ www/html/ui/目录已经存在很长时间了(2 年),所以我猜想仍然试图系统地访问这些文件的人,一定是很久以前对这些文件进行了索引。
我的日志充满了这些请求,当然会引发 404 错误。因为请求来自不同的 IP 地址,我不能只是阻止 IP。
我想知道在这种情况下采取的最佳行动方案是什么。欢迎所有想法。
我在 CentOS 中有一个拥有 50 万用户的项目。图片文件/目录结构是这样设置的(是的......我知道):
user/0070/
这是用户ID / 1000,因此[70000-70999]范围内的所有用户都在此目录内user/0070/70909/
这是用户 IDuser/0070/70909/p.jpg
个人资料图片 (100x100)user/0070/70909/x.jpg
全尺寸图片我将所有内容都移至 CDN,因此我需要将该结构转换为:
user/70909.p.jpg
个人资料图片 (100x100)user/70909.x.jpg
全尺寸图片当然,在一段时间内实现这一目标的唯一方法是执行一个脚本,将所有文件重命名并移动到一个目录中。有任何想法吗?谢谢!
当我启动 iptables 服务时,由于连接超时,没有 ftp 访问。当我停止 iptables 服务时,ftp 工作正常。
这是当前的 iptables 数据:
更新:在 p21 规则中将 ESTABLISHED 替换为 NEW。问题仍在发生。
# Generated by iptables-save v1.4.7 on Sun Dec 14 23:48:26 2014
*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [4:2848]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --sport 21 -m state --state NEW -j ACCEPT
-A INPUT -p tcp -m tcp --sport 20 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -m state --state RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Sun Dec 14 23:48:26 2014
这些行中的任何一条都会导致这种奇怪的行为吗?
-A INPUT -p tcp -m tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --sport 20 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -m state --state RELATED,ESTABLISHED -
我尝试以被动和主动模式连接到 ftp 服务器。