今天發現日誌大量400錯誤
http1.1的標準規定請求必須包含頭部信息,如果請求頭為空那麼web server直接返回400,詳細可以看RFC文檔RFC 2316, section 14.23
除了上面這種telnet方式可能造成空請求頭外,當瀏覽器下載圖片的同時點擊別的鏈接,會關閉下載連接,也會出現空請求頭,再或者機器人構造的空請求頭訪問。
去掉access日誌中的400方法
0.7.12以前版本的nginx收到一個空請求,nginx不會去與任何虛擬主機匹配,直接返回400錯誤,
之後的新版本nginx可以用server_name _ ;匹配空請求頭。
所以如果用的舊版本先升級到0.7.12以後的版本
升級之後添加如下預設虛擬主機server。
增加預設的server到設定文件,以下配置的解釋看這裡禁止未綁定網域存取
server { listen 80 default_server; server_name _; return 404; access_log off; }
建議把上面這個server保存為default.conf,然後include到主設定檔nginx.conf。
以上就介紹了nginx 400 bad request errors,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。