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 }