歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Nginx 防止被域名惡意解析的方法

今天太倒霉了,發現通過IP無法訪問服務器的80端口很無語,昨天都還好的啊,也沒有修改過配置,其他端口又是正常的,防火牆也沒問題。於是問了下機房,給了個崩潰的回復說我們的服務器有個域名沒有備案被電信多次通告,然後就把我們ip端口給封了。。。。封了啊。。。瘋了,關鍵是這個域名TMD不是我的啊

經過一番折騰,發現是 nginx 配置上貌似有個漏洞,導致任何域名解析到服務器都能被正常請求,雖然是個空白頁,但HTTP狀態碼是200。

主要是缺少下面的配置代碼:nginx 版本 1.8.0

server {
    listen       80  default_server;
    server_name  _;
    return       403;
}

讓所有沒有配置過的 server_name 都返回 403 錯誤

我以前 Nginx 也重未加過這個配置,但重來沒遇到過此類問題,而且我在另一台服務器上測試,即便沒有這個代碼也不可能解析並請求成功啊,很是無語。

補充:

搜索了一圈後發現 Nginx 對這類問題,貌似應該用自身特有的 444 這個狀態碼最好

server {
    listen       80  default_server;
    server_name  _;
    access_log   off;
    return       444;
}

這樣在浏覽器端訪問的時候,浏覽器會自動提示用戶無法訪問

Nginx 防止被域名惡意解析的方法<喎?http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxwPjxjb2RlIGNsYXNzPQ=="hljs axapta">通過 CURL 抓取的結果(輸出的是HTTP錯誤信息)

Nginx 防止被域名惡意解析的方法

Copyright © Linux教程網 All Rights Reserved