我在我的服务器上运行一个JavaScript文件,在Nginx上运行Wordpress。 我删除了文件,但仍然有来自多个推荐人的几个请求。 这些引荐来自不同的url和IP地址。
有很多请求,我想阻止它们,因为它似乎影响我的服务器的性能。
有没有办法阻止这些要求?
我想你会得到一个性能增益,当你明确地configurationNginx的旧JavaScript的位置不再有效,因为Nginx将不再需要检查文件系统了,当你发送一个410错误,它不会需要发送404错误页面:
location /path/to/script.js { return 410 ; }
HTTP状态码410:消失
所请求的资源在服务器上不再可用,并且不知道转发地址。 预计这种情况将被视为永久性的。 具有链接编辑function的客户端应该在用户批准后删除对Request-URI的引用。 如果服务器不知道或无法确定该条件是否是永久性的,则应该使用状态码404(Not Found,未find)。 除非另有说明,否则此响应是可caching的。
410响应的主要目的是通过通知接收方资源被故意不可用以及服务器所有者希望去除到该资源的远程链接来帮助networking维护的任务。 这样的事件对于有限时间的促销服务以及属于不再在服务器现场工作的个人的资源是很常见的。 没有必要将所有永久不可用的资源标记为“不存在”或将标记保留任意时间长度 – 这由服务器所有者决定。
location = /deleted.js { default_type text/plain; return 410 "410"; #access_log off; }
你可能想要像上面那样禁用访问日志,或者如果你正在运行一个新的nginx,configurationaccess_log来做缓冲。 光盘访问通常是非常昂贵的,可能是什么让你放缓。
顺便说一句,使用return自动隐含log_not_found off; ,所以,它已经比简单地把它放到vfs来生成404已经更好了。
这是一个使用iptable的string模块来检查http标题内容的想法,当然它必须适应你的特殊情况: http : //spamcleaner.org/en/misc/w00tw00t.html
然而,我不确定在检查所有传入的数据包和让你的web服务器处理它们之间会更快。 我最终将只是在服务器configuration中添加一行,以立即返回一个404在该特定的url; 随着网站pipe理员和search引擎纠正他们的链接(他们将会像404错误将导致在现代networkingsearch引擎中的不良定位),stream量将随着时间自我减less。