國(guó)內(nèi)因?yàn)閭浒傅脑?,所有服?wù)器都要禁止使用IP訪問(wèn)網(wǎng)站。否則,如果允許使用IP訪問(wèn)網(wǎng)站,那隨便解析一個(gè)域名到該IP,訪問(wèn)該域名就可以打開(kāi)網(wǎng)站了。這是一個(gè)極大的風(fēng)險(xiǎn)!Nginx中可以很方便的來(lái)解決這個(gè)問(wèn)題,小菜鳥(niǎo)來(lái)跟大家一起探討一下。
國(guó)內(nèi)因?yàn)閭浒傅脑?,所有服?wù)器都要禁止使用IP訪問(wèn)網(wǎng)站。否則,如果允許使用IP訪問(wèn)網(wǎng)站,那隨便解析一個(gè)域名到該IP,訪問(wèn)該域名就可以打開(kāi)網(wǎng)站了。這是一個(gè)極大的風(fēng)險(xiǎn)!Nginx中可以很方便的來(lái)解決這個(gè)問(wèn)題,小菜鳥(niǎo)來(lái)跟大家一起探討一下。
如下的配置項(xiàng),可以設(shè)置允許使用IP訪問(wèn)網(wǎng)站。
代碼如下:
server {
listen 80;
server_name "";
}
這里相當(dāng)于是綁定了一個(gè)空的主機(jī)頭,于是任意主機(jī)頭,只要是指向這個(gè)IP的都可以打開(kāi)網(wǎng)站了。
如果需要Nginx禁止使用IP訪問(wèn)網(wǎng)站,可以定義如下主機(jī),丟棄這些請(qǐng)求:
代碼如下:server {
listen 80;
server_name "";
return 444;
}
在這里,我們?cè)O(shè)置主機(jī)名為空字符串以匹配未定義“Host”頭的請(qǐng)求,而且返回了一個(gè)nginx特有的,非http標(biāo)準(zhǔn)的返回碼444,它可以用來(lái)關(guān)閉連接。
從0.8.48版本開(kāi)始,這已成為主機(jī)名的默認(rèn)設(shè)置,所以可以省略server_name "",即如下的配置即可:
代碼如下:server {
listen 80;
return 444;
}
新聞熱點(diǎn)
疑難解答
圖片精選