nginx拒絕或允許指定IP,是使用模塊HTTP訪問控制模塊(HTTP Access).
控制規則按照聲明的順序進行檢查,首條匹配IP的訪問規則將被啟用。
location / {
deny 192.168.1.1;
allow 192.168.1.0/24;
allow 10.1.1.0/16;
deny all;
}
上面的例子中僅允許192.168.1.0/24和10.1.1.0/16網絡段訪問這個location字段,但192.168.1.1是個例外。
注意規則的匹配順序,如果你使用過apache你可能會認為你可以隨意控制規則的順序並且他們能夠正常的工作,但實際上不行。
下面的這個例子將拒絕掉所有的連接:
location / {
#這裡將永遠輸出403錯誤。
deny all;
#這些指令不會被啟用,因為到達的連接在第一條已經被拒絕
deny 192.168.1.1;
allow 192.168.1.0/24;
allow 10.1.1.0/1
}