upstream sent invalid chunked response while reading upstream解決
問題背景:
一開始是一個下載檔案的需求,但是不能直接下載,需要通過nginx做代理轉發後,才能將檔案流輸出給合作方.然後我們將url的請求通過nginx代理到真實去下載檔案流的伺服器發現並不能下載到檔案.(是通過請求瀏覽器去下載的,瀏覽器會顯示此網頁無法正常運作)
問題分析:
1.一開始以為是程式碼問題,檢查了程式碼,發現直接呼叫介面是可以下載成功的,那麼問題就出在轉發上面了.
2.然後檢視nginx的error日誌,發現報的錯誤是upstream sent invalid chunked response while reading upstream.之後就是google搜尋問題,發現在nginx的location模組裡面加上proxy_http_version 1.1就可以了.
3.也可以檢視nginx官網對於proxy_http_version的描述,
如果不填寫http的版本的話,預設是http1.0.從nginx的error日誌上看出原始請求是使用的http1.1的版本,而且下載檔案是使用的分塊傳遞,http1.0是不支援這個特性的.可以簡單的瞭解一下分塊傳遞.
http1.0是建立連線,傳送請求資訊,接收請求資訊,斷掉連線.不支援分塊傳遞,所以nginx報錯了.
問題總結:
這個問題與其說是nginx報錯,不如說是不瞭解http不同版本之間特性的差異.而且要記住一點的是nginx代理後的預設http版本是1.0.如果原始請求是長連線或者分塊傳遞,記得加上http1.1的引數.
相關推薦
upstream sent invalid chunked response while reading upstream解決
問題背景: 一開始是一個下載檔案的需求,但是不能直接下載,需要通過nginx做代理轉發後,才能將檔案流輸出給合作方.然後我們將url的請求通過nginx代理到真實去下載檔案流的伺服器發現並不能下載到檔案.(是通過請求瀏覽器去下載的,瀏覽
upstream sent invalid chunked response while reading upstream
再使用nginx的過程中,想通過nginx轉發一個請求,並根據請求的結果返回,進行是否需要快取。方案一,用nginx+lua 當時想的是lua有指令碼功能,利用lua將結果取出並將結果快取再nginx中,最終結果是取到了,但是沒法快取,原因是nginx早就執行完成了
Nginx 錯誤502 upstream sent too big header while reading response header from upstream
Nginx 502 Bad Gateway的含義是請求的PHP-CGI已經執行,但是由於某種原因(一般是讀取資源的問題)沒有執行完畢而導致PHP-CGI程序終止。 Nginx 504 Gateway Time-out的含義是所請求的閘道器沒有請求到,簡單來說就是沒有請求到可
修復Nginx 502錯誤:upstream sent too big header while reading response header from upstream
最近發現Nginx+Laravel 搭建的網站搜尋某些關鍵字時返回502錯誤。 查了一下Nginx的錯誤日誌,發現如下錯誤 2015/03/19 10:46:40 [error] 6412#0: *16436265 upstream sent too big header
upstream sent invalid header while reading response header from upstream 錯誤解決
由於最近線上出現502錯誤比較蛋疼,所以重新把nginx詳細配置做下說明,以此來查詢問題。 nginx 配置 location / { proxy_next_upstream http_500 http_502 http_504 error tim
Nginx Upstream prematurely closed connection while reading upstream...
今天發現除了火狐,其他瀏覽器在開啟後臺ckfinder都會出現 net::ERR_INCOMPLETE_CHUNKED_ENCODING 錯誤,但是本地除錯沒有這個錯誤,最終發現是伺服器的Nginx 配置上有問題,檢視error.log 顯示的是Upstream prema
FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream 問題解決
配置好了 nginx.conf 和 php7.0-fpm.conf 檔案,但是要訪問 php 檔案的時候,卻不顯示任何內容或者顯示“File not found”,問題在於要訪問的 php 檔案 php7.0-fpm 沒有訪問許可權,修改下訪問許可權即可。 改成如下圖所示: 附
FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream 問題解決
配置好了 nginx.conf 和 php7.0-fpm.conf 檔案,但是要訪問 php 檔案的時候,卻不顯示任何內容或者顯示“File not found”,問題在於要訪問的 php 檔案 php7.0-fpm 沒有訪問許可權,修改下訪問許可權即可。 改成如下圖所
graphite報錯:upstream prematurely closed connection while reading response header from upstream
線上監控系統使用grafana+graphite,graphite使用nginx+uwsgi啟動。有一次在grafana上監控圖出現錯誤,顯示響應式502,於是先檢查graphite-web,發現在graphite-web介面上偶爾打不開。 然後再nginx的error日誌上顯示如下資訊:
nginx: upstream timed out (110: Connection timed out) while reading response header
server{}配置中新增以下配置即可: large_client_header_buffers 4 16k; #header大小 client_max_body_size 300m; #上傳檔案大小限制  
記錄一次 docker:Primary script unknown" while reading response header from upstream
這個問題簡單翻譯過來就是: fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 這行配置無法幫我找到 傳過來的檔案。試了一下寫一個 index.html 檔案進行測試,發現是有的。
nginx 超時問題: upstream timed out (110: Connection timed out) while reading response header from upstream
目錄 錯誤內容 錯誤原因 錯誤解決辦法 錯誤內容 我們可以在error.log 裡面可以看到 錯誤內容:upstream timed out (110: Connection timed out) while reading response header from upstream
failed (104: Connection reset by peer) while reading response header from upstream, client: x.x.x.x
failed (104: Connection reset by peer) while reading response header from upstream, client: x.x.x.x,
解決 recv() failed (104: Connection reset by peer) while reading response header from upstream
Nginx出現502 Bad Gateway 錯誤, 查了Nginx的錯誤日誌為: 2014/08/02 16:14:31 [error] 17029#0: *17941 recv() failed (104: Connection reset by peer) whil
nginx nodejs 502 upstream prematurely closed connection while reading response header from upstream
問題描述: 在nginx + nodejs的應用場景中,請求URL中如果含有不能進行編碼的非法字元則nodejs http server會直接socket hang up斷開連線,導致nginx報錯"upstream prematurely closed connectio
解決:The proxy server received an invalid response from an upstream server
最近在App上的呼叫介面時出現下面的錯誤資訊,導致正常頁面無法訪問。 The proxy server received an invalid response from an upstream server. Sorry for the inconvenience.
nginx [error] 15644#0: *112680 recv() failed (104: Connection reset by peer) while reading response
參考地址 https://serverfault.com/questions/543999/nginx-errors-recv-failed-104-connection-reset-by-peer-while-reading-respon/544106 網站登入的時候
【Paper Reading】Learning while Reading
協作 每一個 info ++ 平時 arr 向上 移除 否則 Learning while Reading 不限於具體的書,只限於知識的寬度 這個系列集合了一周所學所看的精華,它們往往來自不只一本書 我們之所以將自然界分類,組織成各種概念,並按其分類,
頁面發送請求到後臺報錯“Empty or invalid anti forgery header token.”問題解決
empty ges false () pty ken 問題 ini src 在頁面向後臺發送請求時,報如上圖的錯誤的解決辦法: 在WebModule.cs類中的PreInitialize方法中加 Configuration.Modules.AbpWeb().AntiFo
if/while/for 、解決數學難題 、 Python實例
mark not mage elif if條件 http n+1 pytho please if/while/for enumerate() 方法的語法:enumerate(sequence, [start=0])sequence -- 一個序列、叠代器或其他支持叠代對象。