NGINX - 有條件地允許或拒絕 IP

NGINX - 有條件地允許或拒絕 IP

NGINX 中是否可以有條件地允許或拒絕 IP?這是不允許的。

if($example){
  deny all;
}

if ($example2){
  allow all;
}

答案1

您可以使用 geo 模組來完成此操作。這將只允許 ip 1.1.1.1 和 2.2.2.2 存取端點。您可以反轉邏輯以允許所有 ip 並僅拒絕特定的幾個 ip。

geo $trusted_user {
    default 0;
    1.1.1.1 1;
    2.2.2.2 1;
}

server
{
    if ( $trusted_user ~ 0 ) { return 444; }
}

相關內容