國內因為備案的原因,所有服務器都要禁止使用IP訪問網站。否則,如果允許使用IP訪問網站,那隨便解析一個域名到該IP,訪問該域名就可以打開網站了。這是一個極大的風險!Nginx中可以很方便的來解決這個問題,小菜鳥來跟大家一起探討一下。
國內因為備案的原因,所有服務器都要禁止使用IP訪問網站。否則,如果允許使用IP訪問網站,那隨便解析一個域名到該IP,訪問該域名就可以打開網站了。這是一個極大的風險!Nginx中可以很方便的來解決這個問題,小菜鳥來跟大家一起探討一下。
如下的配置項,可以設置允許使用IP訪問網站。
代碼如下:
server {
listen 80;
server_name "";
}
這里相當于是綁定了一個空的主機頭,于是任意主機頭,只要是指向這個IP的都可以打開網站了。
如果需要Nginx禁止使用IP訪問網站,可以定義如下主機,丟棄這些請求:
代碼如下:server {
listen 80;
server_name "";
return 444;
}
在這里,我們設置主機名為空字符串以匹配未定義“Host”頭的請求,而且返回了一個nginx特有的,非http標準的返回碼444,它可以用來關閉連接。
從0.8.48版本開始,這已成為主機名的默認設置,所以可以省略server_name "",即如下的配置即可:
代碼如下:server {
listen 80;
return 444;
}
新聞熱點
疑難解答