[英]Node.js Server Response Error sometime (on High load)
高負載時的 nodejs 服務器響應錯誤消息。
一些錯誤是: Http failure response for (api url):0 Unknown Error
和cors
錯誤。 在瀏覽器控制台上。
在 Android 端,錯誤是unexpected end of stream on Connection {api url:80, proxy=Direct hostaddress=apiurl/serverip:80 cipherSuite=none protocol=http/1.1
我們有 16 GB ram 4vCPUs aws 實例
nginx 反向代理到節點的 4 個實例(通過 pm2 創建)、ip_hash(因為我們使用的是 socketio)之間的負載平衡
在查看 web 時,一些建議是“ Its cors error
”,“ it server side error, contact the backend team
”
對於cors
我們使用 cors package 來自 ZBB30E85411B56DF41296726AB445DCF8。 app.use(cors())
。 我正在尋找服務器端的固定。 我們正在使用快遞。
由於網站和應用程序在其工作時完美運行,並且在問題期間我們收到 cors 錯誤。 它可能不是 cors 錯誤。 在高負載期間,我們會立即收到錯誤,而不是超時錯誤。
我們無法弄清楚這個問題。 有什么建議么?
更新:由於正在進行投票以關閉此問題,我可能無法得到答案,但這里有一些錯誤,請注意應用程序和網站(角度)工作正常,但在挑選時間出現這些錯誤,我預計超時或節點停下來,但不是這些錯誤如此,以為有問題。
Update2:在查看 nginx 錯誤日志時,我們收到此錯誤。
2021/03/09 17:10:25 [alert] 1058#1058: *2946806 768 worker_connections are not enough while connecting to upstream, client: 120.xx.xxx.114, server: api.mydomain.com, request: "GET /Image-1611905660330.jpg HTTP/1.1", upstream: "http://127.0.0.1:8000/Image-1611905660330.jpg", host: "api.mydomain.com"
更新3:查找上面的錯誤,發現提示需要增加worker_connections
,所以在/etc/nginx/nginx.conf;
. 現在我們*2908 socket() failed (24: Too many open files) while connecting to upstream,
更新 4:添加worker_rlimit_nofile 20000;
到/etc/nginx/nginx.conf
似乎修復了更新 3 上的錯誤。
cors 錯誤是由瀏覽器而不是服務器發出的。 服務器只是給瀏覽器 cors 策略響應。 是否應視為錯誤由瀏覽器本身決定。
我不是 android 開發人員,但我認為您的一些問題是由來自 android 客戶端而不是服務器的濫用請求造成的。
Android 連接 Node.js REST 意外結束 ZF7B44CFAFD5C52223D5498196CA8
java.io.IOException: stream on Connection in ZC31B32364CE19CA88FCD5C1 意外結束
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.