最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux服務(wù)器nginx訪問(wèn)日志里出現(xiàn)大量http 400錯(cuò)誤的請(qǐng)求分析

 更新時(shí)間:2014年12月13日 13:15:58   投稿:mdxy-dxy  
這篇文章主要介紹了Linux服務(wù)器nginx訪問(wèn)日志里出現(xiàn)大量http 400錯(cuò)誤的請(qǐng)求分析,需要的朋友可以參考下

服務(wù)器中的錯(cuò)誤記錄類似于這種:

124.65.133.242 – – [27/Oct/2014:14:30:51 +0800] “-” 400 0 “-” “-”
124.65.133.242 – – [27/Oct/2014:14:31:45 +0800] “-” 400 0 “-” “-”
124.65.133.242 – – [27/Oct/2014:14:31:45 +0800] “-” 400 0 “-” “-”
124.65.133.242 – – [27/Oct/2014:14:31:45 +0800] “-” 400 0 “-” “-”

踩點(diǎn)

經(jīng)過(guò)分析nginx的log文件,發(fā)現(xiàn)都是在一次正常訪問(wèn)之后產(chǎn)生的數(shù)個(gè)400錯(cuò)誤,每次有大概連續(xù)出現(xiàn)1-6個(gè)不等,而且也并不是每次客戶訪問(wèn)都會(huì)產(chǎn)生400錯(cuò)誤。

再觀察產(chǎn)生400錯(cuò)誤的前一次訪問(wèn)是很正常的,200狀態(tài)碼,正常的文件,正常的來(lái)路,正常的User-Agent… 一切都很和諧,那400是腫么來(lái)的呢?

通過(guò)仔細(xì)觀察發(fā)現(xiàn),所有產(chǎn)生400錯(cuò)誤的前一次訪問(wèn)的User-Agent都是Google Chrome瀏覽器留下的,也就是說(shuō)400錯(cuò)誤是由Chrome瀏覽器產(chǎn)生的。但是經(jīng)過(guò)本地抓包發(fā)現(xiàn),chrome是沒(méi)有向服務(wù)器發(fā)送異常請(qǐng)求或者數(shù)據(jù)包的。

在抓包分析中發(fā)現(xiàn),Chrome在訪問(wèn)服務(wù)器時(shí)發(fā)起的連接不止一個(gè),一般有5到6個(gè)不等,而如果請(qǐng)求的資源不需要那么多連接時(shí),Chrome就會(huì)關(guān)閉未用的連接,這項(xiàng)技術(shù)叫做pre-connection“預(yù)先連接”。

通常我們?cè)L問(wèn)一個(gè)網(wǎng)站時(shí),第一個(gè)獲取的是一個(gè)html主文件,而里面鏈接了網(wǎng)頁(yè)所需要的css、js、圖片等其他媒體資源文件,而一般資源文件和主 html文件是在一個(gè)域下的,預(yù)先連接就是在獲取html之前就建立很多的tcp連接,而不是等到獲取到html文件之后再去連接服務(wù)器獲取其他的文件, 因?yàn)檫B接服務(wù)器是需要消耗一些時(shí)間的,所以這項(xiàng)技術(shù)可以很大程度上加快網(wǎng)頁(yè)的呈現(xiàn)速度。

如果網(wǎng)頁(yè)html鏈接的資源比較少,或者客戶端有緩存,不需要連接下載,那么Chrome瀏覽器發(fā)出的5-6個(gè)連接很可能只有1個(gè)是需要的,其他的 都得關(guān)閉掉,這樣就產(chǎn)生了一個(gè)問(wèn)題:連接了服務(wù)器,而沒(méi)有發(fā)送任何請(qǐng)求。對(duì)于這種情況,nginx是當(dāng)做400錯(cuò)誤來(lái)處理的,但由于連接已經(jīng)關(guān)閉,錯(cuò)誤信 息不會(huì)發(fā)送到客戶端,這就產(chǎn)生了日志文件中記錄了錯(cuò)誤,而抓包分析中什么也看不到的現(xiàn)象。

測(cè)試
要驗(yàn)證上面的分析結(jié)果很簡(jiǎn)單,打開(kāi)命令行cmd.exe,在里面輸入telnet serverip 80,等待連接成功之后直接關(guān)掉cmd,這時(shí)去查看nginx的log文件中就多了一條400錯(cuò)誤記錄。

一句評(píng)論
pre-connection的優(yōu)點(diǎn)已經(jīng)很清楚了,但是它也是有缺點(diǎn)的,如果站長(zhǎng)做了優(yōu)化,使用了Cookie-free技術(shù),或者網(wǎng)頁(yè)和靜態(tài)資源 使用不同的服務(wù)器,那么網(wǎng)頁(yè)需要的css、js資源就和主html不在同一個(gè)域下,也可能不在同一個(gè)IP上,那么pre-connection不僅是雞 肋,而且會(huì)對(duì)主html服務(wù)器產(chǎn)生不必要的負(fù)擔(dān)。

其它原因

網(wǎng)上很多人寫(xiě)過(guò)相關(guān)的文章,大多的人的原因是因?yàn)?header 的頭部大小超了,引起響應(yīng) 400 告訴是 bad request.但其實(shí)還有一種可能,就是象端口測(cè)試工具,只是檢查端口是否是活的。像 LVS 之類什么的,也會(huì)引起這種問(wèn)題,然后日志中會(huì)出現(xiàn)大量的 400 錯(cuò)誤。

對(duì)于上述問(wèn)題可以在nginx.conf中,將client_header_buffer_size和large_client_header_buffers都調(diào)大,可緩解此問(wèn)題。

相關(guān)文章

  • centos yum更新及刪除多余啟動(dòng)項(xiàng)

    centos yum更新及刪除多余啟動(dòng)項(xiàng)

    在CentOS更新后,并不會(huì)自動(dòng)刪除舊內(nèi)核。所以在啟動(dòng)選項(xiàng)中會(huì)有多個(gè)內(nèi)核選項(xiàng),可以手動(dòng)使用以下命令刪除多余的內(nèi)核:
    2018-04-04
  • Linux 添加永久靜態(tài)路由的方法

    Linux 添加永久靜態(tài)路由的方法

    本篇文章主要介紹了Linux 添加永久靜態(tài)路由的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-02-02
  • linux 搭建svn服務(wù)器的方法步驟

    linux 搭建svn服務(wù)器的方法步驟

    這篇文章主要介紹了linux 搭建svn服務(wù)器的方法步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • 搭建nextcloud私有云存儲(chǔ)網(wǎng)盤(pán)的教程詳解

    搭建nextcloud私有云存儲(chǔ)網(wǎng)盤(pán)的教程詳解

    Nextcloud是一款開(kāi)源免費(fèi)的私有云存儲(chǔ)網(wǎng)盤(pán)項(xiàng)目,可以讓你快速便捷地搭建一套屬于自己或團(tuán)隊(duì)的云同步網(wǎng)盤(pán),從而實(shí)現(xiàn)跨平臺(tái)跨設(shè)備文件同步、共享、版本控制、團(tuán)隊(duì)協(xié)作等功能。這篇文章主要介紹了搭建nextcloud私有云存儲(chǔ)網(wǎng)盤(pán),需要的朋友可以參考下
    2019-12-12
  • Linux命令行處理圖片方式(圖片格式轉(zhuǎn)換、縮放、旋轉(zhuǎn)等)

    Linux命令行處理圖片方式(圖片格式轉(zhuǎn)換、縮放、旋轉(zhuǎn)等)

    這篇文章主要介紹了Linux命令行處理圖片方式(圖片格式轉(zhuǎn)換、縮放、旋轉(zhuǎn)等),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Centos5.4+Nginx-0.8.50+UWSGI-0.9.6.2+Django-1.2.3搭建高性能WEB服務(wù)器

    Centos5.4+Nginx-0.8.50+UWSGI-0.9.6.2+Django-1.2.3搭建高性能WEB服務(wù)器

    這篇文章主要介紹了Centos5.4+Nginx-0.8.50+UWSGI-0.9.6.2+Django-1.2.3搭建高性能WEB服務(wù)器的相關(guān)資料,需要的朋友可以參考下
    2016-02-02
  • 可以提高效率的十個(gè)Linux命令別名匯總

    可以提高效率的十個(gè)Linux命令別名匯總

    這篇文章主要給大家介紹了關(guān)于可以提高效率的十個(gè)Linux命令別名,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Linux系統(tǒng)具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Linux指定端口連接Redis服務(wù)器的步驟詳解

    Linux指定端口連接Redis服務(wù)器的步驟詳解

    Redis是一種流行的開(kāi)源內(nèi)存數(shù)據(jù)庫(kù),常用于緩存、消息隊(duì)列等場(chǎng)景,在Linux系統(tǒng)上,連接Redis服務(wù)器需要使用客戶端工具,在本篇博文中,我們將介紹如何使用Linux指定端口連接Redis,需要的朋友可以參考下
    2024-09-09
  • 詳解Ubuntu下ssh服務(wù)的安裝與登陸(ssh遠(yuǎn)程登陸)

    詳解Ubuntu下ssh服務(wù)的安裝與登陸(ssh遠(yuǎn)程登陸)

    本篇文章主要介紹了Ubuntu下ssh服務(wù)的安裝與登陸,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2016-11-11
  • linux命令下jq的用法及說(shuō)明

    linux命令下jq的用法及說(shuō)明

    這篇文章主要介紹了linux命令下jq的用法及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12

最新評(píng)論

获嘉县| 南宁市| 遂宁市| 黔江区| 佛学| 台江县| 东乡族自治县| 田阳县| 东丽区| 光泽县| 淄博市| 获嘉县| 文成县| 卫辉市| 新巴尔虎左旗| 涿鹿县| 湘潭市| 红河县| 龙口市| 平顺县| 如东县| 宝山区| 泰来县| 闸北区| 清镇市| 宁海县| 建平县| 板桥市| 仁布县| 五华县| 金平| 林州市| 宁陕县| 安西县| 北海市| 米林县| 顺平县| 永寿县| 安阳市| 八宿县| 武平县|