Ip
使用 nginx 創建 IP 白名單的最佳方法
我們希望僅對某些 IP 授予對更新伺服器的訪問權限,並使用此 nginx 配置到目前為止:
allow 2a03:2267:4e6f:7264:f6f2:6dff:fe49:e4a2; allow 2a03:2267:4e6f:7264:a2f3:c1ff:fe7a:4bc6; ... deny all;
但似乎 nginx 的允許規則限制在 250 左右。
我們怎樣才能增加這個限制,所以我們可以在這裡配置一個更大的白名單。或者有沒有更好的方法來實現這個目標?
您可以使用 a
map
來達到相同的效果。例如:map $remote_addr $deny { default 1; 2a03:2267:4e6f:7264:f6f2:6dff:fe49:e4a2 0; 2a03:2267:4e6f:7264:a2f3:c1ff:fe7a:4bc6 0; } server { ... if ($deny) { return 403; } ... }
由於這是一個基於全域伺服器訪問的白名單,因此使用 iptables 可能會更好。
ip6tables -A INPUT -m tcp -p tcp -s 2a03:2267:4e6f:7264:f6f2:6dff:fe49:e4a2 --dport 80 -j ACCEPT ip6tables -A INPUT -m tcp -p tcp -s 2a03:2267:4e6f:7264:a2f3:c1ff:fe7a:4bc6 --dport 80 -j ACCEPT ip6tables -A INPUT -m tcp -p tcp --dport 80 -j REJECT
如果 IPv4 已啟用,請確保您也阻止它。
iptables -A INPUT -m tcp -p tcp --dport 80 -j REJECT