我的网站受到垃圾邮件和抓取程序的严重打击。 我使用了Cloudflare,但问题仍然存在。 问题是垃圾邮件访问不存在的URL导致大量的负载到我的Drupal后端,一路走来,引导数据库只是为了提供404错误文档。
我不能简单地拿出非Drupal 404的所有页面找不到错误,因为我需要有Drupal赶上他们。 因为,清漆是在前面,它可以检查机器人是否行事不错,并要求有效的url – 如果没有,它为他们服务404或403.这些机器人使用这种模式导致错误:
http://www.megaleecher.net/http:/www.megaleecher.net/Using_iPhone_As_USB_Mass_S/Using_iPhone_As_USB_Mass_S/Using_iPhone_As_USB_Mass_S/Using_iPhone_As_USB_Mass_S/Using_iPhone_As_USB_Mass_S/Using_iPhone_As_USB_Mass_S/Using_iPhone_As_USB_Mass_S/Using_iPhone_As_USB_Mass_Storage
现在,请。 build议一个正则expression式varnbisg VCL指令捕获这个URL模式,并提供从varnish 404错误,防止它到达Apache / Drupal?
你有没有尝试寻找以/ http开头的urlpath?
if (req.url ~ "^/https?:") { error 404 "Not found" }
你有没有考虑实施你的404s的caching? 为了用正则expression式阻止这些,你需要保持你的VCL和你的后端同步,以避免阻塞有效的URL。 如果你只是caching404s的时间很长,你仍然需要从后端加载一次,但是后续的请求会得到一个caching的404页面。 如果您使用caching的404响应将实际内容添加到URL,则可以执行手动清除。
“我的网站受到垃圾邮件和垃圾邮件的严重打击”
他们来自同一个IP吗? 你尝试过阻止IP地址吗?