我在express和nginx服务器上有一个网站。有人,不知道谁和为什么,向服务器发出垃圾邮件请求。他问了错误的网址,有时网址是真实的。它永远不会下载页面的内容。我可以在调试日志中看到这一点。它看起来像这样:
GET /upload/resize_cache/iblock/ccf/600_500_1/ccfcdaaf1d5fe9369730f87af4cd1a1c.jpg 404 386.291 ms - 12514
GET /upload/iblock/4d3/4d3cb14cef960ea3ba225a417ac2d346.jpg 404 416.699 ms - 12422
GET /upload/iblock/546/54618496bf5cd184d6fb7274279a92a7.jpg 404 354.640 ms - 12422
GET /article/codepen-io-dobavyl-vozmozhnost-yspolzovanyia-shablonov 200 408.688 ms - 17421
GET /upload/resize_cache/iblock/b7f/600_500_1/b7f2644ef4e8d4463dc4e5805fc2cc82.jpg 404 144.151 ms - 12514
GET /running_auto/Audi/audi-a1-hatchback/ 404 133.696 ms - 12350
GET /article/funktsyonalnoe-programmyrovanye-v-js-chast-4 200 461.214 ms - 29747
GET /Volkswagen/Jetta/trade-in-form/ 404 387.641 ms - 12330
GET /upload/iblock/728/728ec19fa81415b11f00ee97261b3cc3.jpg 404 292.099 ms - 12422
GET / 200 312.443 ms - 56568
我可以对没有内容的请求做些什么,只是要求页面?这不是这样的问题,但是我的服务器很弱,而且它无法处理这些usles请求。
答案 0 :(得分:0)
客户可以请求任何喜欢的内容,服务器可以根据收到的请求提供合适的响应。
如果请求是针对未知资源,则只需尽快返回404。尝试不要创建对象,连接到数据库等,直到断言请求有效为止。
答案 1 :(得分:0)
一种方法是使用CDN,您可以尝试CloudFlare以后使用WAF。
从Nginx方面您可以做的是将CloudFlare's IP's列入白名单,以便只有CloudFlare访问您的网站,请查看此帖:https://erichelgeson.github.io/blog/2014/01/18/whitelisting-cloudflare-in-nginx/
这可能有助于防止您的网站遭遇不受欢迎的请求。