我有很多域名。在nginx中配置为虚拟主机。它们都有相同的文档根。我想限制访问大量不同的IP。有没有办法在最高级别然后进行虚拟主机配置?例如,在主http {}块中。
答案 0 :(得分:0)
是的,您可以使用ngx_http_geo_module阻止某些IP访问您的虚拟主机。此模块可帮助您使用基于客户端IP地址的值创建变量。您可以在http级别定义IP。这是一个例子。
http {
geo $spamers {
# --allow all --
default no;
#-- block these bad ips --
192.0.171.118 spam;
192.0.179.119 spam;
192.0.179.120 spam;
192.128.168.0/20 spam;
}
您可以添加所需数量的IP,然后在要限制这些IP的服务器的位置块中添加支票
location ~* /mysite/www/ {
if ( $spamers = spam ) {
# -- Return a forbidden message
return 403;
}