國內由於備案的緣由,全部服務器都要禁止使用IP訪問網站。不然,若是容許使用IP訪問網站,那隨便解析一個域名到該IP,訪問該域名就能夠打開網站了。這是一個極大的風險!Nginx中能夠很方便的來解決這個問題,小菜鳥來跟你們一塊兒探討一下。nginx
以下的配置項,能夠設置容許使用IP訪問網站。服務器
server { listen 80; server_name ""; }
這裏至關因而綁定了一個空的主機頭,因而任意主機頭,只要是指向這個IP的均可以打開網站了。
也能夠把這些流量收集起來,導進到本人的網站,只需作如下跳轉設置就能夠: 網站
server { listen 80 default; rewrite ^(.*) http://www.abc.com; }
若是須要Nginx禁止使用IP訪問網站,能夠定義以下主機,丟棄這些請求:spa
server { listen 80default; server_name ""; return 444; }
或者code
server { listen 80 default; server_name _; return 500; }
從0.8.48版本開始,這已成爲主機名的默認設置,因此能夠省略server_name "",即以下的配置便可:server
server { listen 80; return 444; }
限制某IP登錄網站
allow all;blog
deny all;ip
其中網段的寫法是這樣的:192.168.1.0/24這樣的形式。字符串
deny 192.168.1.11;
deny 192.168.1.123;
deny 10.0.1.0/24; 域名
allow 1.1.1.1; allow 1.1.1.2; allow 192.168.1.0/24; deny all;
deny 1.1.1.1; deny 192.168.1.0/24; allow all;
單獨網站屏閉IP的方法:
在server"{}",在這個大括號內加入deny IP地址是限制某IP地址訪問;allow IP地址是隻容許某IP地址訪問;
#屏蔽單個IP的命令是
deny 123.45.6.7
#封整個段即從123.0.0.1到123.255.255.254的命令
deny 123.0.0.0/8
#封IP段即從123.45.0.1到123.45.255.254的命令
deny 124.45.0.0/16
#封IP段即從123.45.6.1到123.45.6.254的命令是
deny 123.45.6.0/24