為了避免別人把未備案的域名解析到自己的服務器IP而導致服務器被斷網,需要在nginx上設置禁止通過IP訪問服務器,只能通過域名訪問。
最關鍵的一點是,在server的設置里面添加這么一行:
listen 80 default;
后面的default參數表示這個是默認的虛擬主機。
例如:別人如果通過ip或者未知域名訪問你的網站的時候,你希望禁止顯示任何有效內容,可以給他返回500,或者是404。具體如下:
server {
listen 80 default;
server_name _;
return 500;
}
也可以把這些流量收集起來,導入到自己的網站,只要做以下跳轉設置就可以:
server {
listen 80 default;
rewrite ^(.*) http://www.domain.com permanent;
}
當然,按照上述設置,的確不能讓別人通過ip訪問服務器了,但是還應該開放一個或多個真實的希望被訪問的域名配置,設置如下:
server {
linten 80;
server_name www.domain.com;
}