今天來了一個需求,ip訪問返回500,域名訪問正常,只需在nginx.conf中添加
server { listen 80 default; #default 必須加的 return 500; }
也可以把這些流量收集起來,導入到自己的網站,只要做以下跳轉設置就可以:
server { listen 80 default; rewrite ^(.*) http://www.xxx.com permanent; }
按照如上設置后,確實不能通過IP訪問服務器了,但是在應該用中出現當server_name后跟多個域名時,其中一個域名怎么都無法訪問:
設置如下:
沒更改之前,通過server_name 中的www.xxx.com linuxidc.com均可訪問服務器,加入禁止IP訪問的設置后,通過linuxidc.com無法訪問服務器了,www.xxx.com可以訪問
用 nginx -t 檢測配置文件會提示warning:
最后通過在listen 80 default;后再加server_name _;解決,形式如下:
#禁止IP訪問
server{ listen 80 default; server_name _; return 500; }
或者
server { listen 80 dufault; server_name _; rewrite ^(.*) http://www.xxx.com permanent; }
最后重啟nginx看效果如下