我创建了以下 2 个 openshift 装备:
- 清漆筒https://github.com/devop-mmcgrath/openshift-cartridge-varnish
- php 5.4 / mysql(symfony 2 应用程序)
我已经配置了一个基于 FOSHttpCacheBundle 的相当复杂的缓存机制,它使用缓存标签、禁令、用户上下文等。
从昨天起,该网站运行良好,但今天下午 Varnish 对所有未缓存的请求都显示 503 个 Guru Meditation。
日志中的消息是:“没有后端连接”。
我登录了 varnish gear,确实后端设备(php 5.4)没有响应 curl 的请求,而它却响应来自互联网的请求(例如我的本地机器)。
我重新启动了2个齿轮,问题解决了......但我怀疑问题还没有完全解决。
openshift online 上是否有来自同一 IP 的请求数量限制,以防止 DDOS 攻击?因为对后端设备的所有请求都是从同一 IP 发出的:varnish 的设备 IP,我的问题看起来像是 IP 禁令......
请注意,我的网站刚刚上线,流量并不高。
答案1
OpenShift 中没有内置限制(至少我知道)。我怀疑是你的 Symfony 设备;你没有提到底层 Web 服务器是什么(Apache?nginx?其他?),但所有主要选项都实现了每个客户端的限制选项,尽管我不知道它们是否默认启用了该选项。最好的办法是复制问题,然后开始交互式调试 — 确定 FPM 进程(或 Apache 子进程)正在做什么,TCP SYN 是否到达你的 Web 服务器设备等。问题应该很快就会显现出来。