为了防止引用垃圾邮件,我的 nginx.conf 包含这样的部分:
if ($http_referer ~* spamdomain1\.com) {
return 444;
}
if ($http_referer ~* spamdomain2\.com) {
return 444;
}
if ($http_referer ~* spamdomain3\.com) {
return 444;
}
如果用户设置了这些引用者之一,这些规则告诉 nginx 关闭连接。有没有更优雅的方法来做到这一点?我可以定义这些域的列表,然后说“如果引用者在此列表中,则返回 444”?
我会尝试
map
:然后像这样使用它:
您可以使用逻辑
OR
来制作一个多重匹配语句,例如编辑每条评论;
break;
从块中删除ngx_http_referer_module是另一种方法。来自Referer Spam Blocking的示例: