如何阻止来自特定域名TLD的推荐人?

最近,我收到很多来自我的网站的垃圾邮件引用者使用不同的域名,他们都是.ru域名。 我在我的服务器上使用Nginx。

目前我使用下面的代码来阻止stream行的垃圾邮件引用,如我们Semalt,但我不能插入每个.ru域名,他们总是拿出新的。

 if ($http_referer ~ "7makemoneyonline\.com|semalt\.com|Get-Free-Traffic-Now\.com) { return 403; } 

我的问题是:如何阻止任何.ru域名引用的所有请求,而不会干扰其名称中包含ru字母的其他域名,例如: d ru gs.com

正则expression式匹配域名应通过使用$标记锚定到行的末尾。 例如,要匹配www.example.orgexample.com.net您可以使用:

 if ($http_referer ~* (www\.example\.org|example\.com|\.net)$ ) { ... } 

这是一些候选人,用|分隔 并括在括号内。 最后的$将它锚定到行尾。