在 nginx 中,如何通过 IP 地址限制对某个 URL 前缀的访问。即“只允许这些 IP 访问$URL
?”。
我有一个location … {
指令,但它看起来像nginx allow
&deny
不做任何工作locations
我希望所有 IP 地址都能访问服务器的所有部分,但我只希望少数几个 IP 地址能够访问此 URL 前缀
在 Uuntu Linux 22.04 上通过 apt 安装 nginx v 1.18.0
答案1
要根据 IP 地址限制对 Nginx 中特定 URL 前缀的访问,您可以在块中使用allow
and指令。指令指定允许哪些 IP,而指令阻止所有其他 IP。您可以这样配置它:deny
location
allow
deny
- 定义一个
location
与您的 URL 前缀匹配的块。 - 在此块内,使用
allow
您想要授予访问权限的每个 IP 地址。 - 用于
deny all
阻止所有其他 IP 地址。
以下是 Nginx 的示例配置:
server {
# ... other server config ...
location /your_url_prefix/ {
allow 192.168.1.100; # Allow this IP
allow 192.168.1.101; # Allow another IP
deny all; # Deny all other IPs
# ... other location config ...
}
}
在此示例中,将 替换/your_url_prefix/
为您的特定 URL 前缀,并将192.168.1.100
替换192.168.1.101
为您要允许的 IP 地址。更新配置后,请确保重新加载 Nginx 以应用更改。
allow
摘要:配置 Nginx 以通过使用块内的 IP和deny
指令来限制对特定 URL 前缀的访问location
。