Varnish:如何将用户代理作为信息发送给404 Monitorins的wordpress

问题描述 投票:0回答:1

[我正在尝试找出所有仅进行关键字收集和(对我而言)无用的SEO销售的机器人,例如MJ12bot或AhrefsBot。我的网站大约有24年的历史,大部分时间是在Wordpress下运行的,但是我在某些时候尝试了mediawiki等,因此我会得到很多404。

我有Apache-Varnish-Wordpress堆栈,并且我正在使用Varnish来阻止不需要的机器人。 bot.vlc是这样的:

sub bad_bot_detection {

if (
  req.http.user-agent ~ "Daum"
  || req.http.user-agent ~ "MJ12bot"
...
) {
    return(synth(403, "Forbidden Bots"));
} elseif (
    req.http.user-agent ~ "APIs-Google"
    || req.http.user-agent ~ "Mediapartners-Google"
...
) {return(pipe);
    }

在后端/ wordpress 404上,监视是由Rank Math SEO插件完成的。我正在使用return(pipe);只是获得用户代理的“好机器人”。否则我不知道何时应该修复404,何时不关心。人类不是问题,因为如果他们得到404,那么就会有一个引荐来源。因此,我想找出可以向他们提供错误403的机器人用户代理。

我在Google上搜索了很多,所有的清漆和用户代理都输入了如何为手机提供不同的缓存,或者提示了为什么会有所不同:用户代理不利于缓存比率。一些文章建议使用Apache2的日志,但是由于未设置req.http.User-Agent,它并没有太大帮助。在default.vcl中。我知道所有这些信息,但是我只是尝试将用户代理的名称传递给404监视,而不必告诉它清漆。

也许我应该使用Varnish的日志记录,但是我也无法从那里找到用户代理。

所以,我应该只学习使用大量404脚本还是复制并粘贴所有这些“不良机器人列表”?我可以使用Varnish来寻找完全提供404的机器人名称吗?

wordpress http-status-code-404 user-agent varnish
1个回答
0
投票

如果您从那时起在Varnish上返回管道,将看不到管道事务的任何其他内容。尝试返回通行证,并使用varnishlog检查404响应。

即varnishlog -d -q“ RespStatus> 400” | grep“用户代理”

© www.soinside.com 2019 - 2024. All rights reserved.