拒绝访问同一目录中的多个域
Deny access to multiple domains in same directory
我有很多域名。在 nginx 中配置为虚拟主机。他们都有相同的文档根目录。我想限制对大量不同 ip 的访问。有没有办法在最高级别然后虚拟主机配置中做到这一点?例如在主 http{} 块中。
是的,您可以使用 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;
}
我有很多域名。在 nginx 中配置为虚拟主机。他们都有相同的文档根目录。我想限制对大量不同 ip 的访问。有没有办法在最高级别然后虚拟主机配置中做到这一点?例如在主 http{} 块中。
是的,您可以使用 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;
}