『壹』 記一次解決阿里雲伺服器偶爾連接不上的問題(由tcp_tw_recycle參數引發的)
阿里雲伺服器偶爾連接不上的問題出現在我做了一些TCP優化之後,出現了公司內網偶爾會出現連接不上伺服器的問題,但是切換襲沖其他的網路就可以正常連接。
1,登陸伺服器查看資源使用top,vmstat等命令查看了一番發現伺服器各項指標都沒有異常。於是將問題轉向了網路層。
2,本地使用ping伺服器外網ip正常返回,無丟包,延遲也正常。
3,登錄伺服器查看tcp相關數據。
發現在卡頓時有大量tcp syn包被丟棄,數值一直在增長。
在查閱資料並結合實際情況後,發現該伺服器同時啟用了 tcp_timestamps和tcp_tw_recycle參數。
後想起,之前同事為改善time_wait連接數過多問題曾改過該內核參數。
解決辦法是,關閉tcp_tw_recycle:
再觀察,發現服務已正常,偶爾連接不上的現象消失。
我們先來man一下這兩個參數(man tcp):
cp_timestamp 是 RFC1323 定義的優化選項,主要用於 TCP 連接中 RTT(Round Trip Time) 的計算,開啟 tcp_timestamp 有利於系統計算更加准確的 RTT,也就有利於 TCP 性能的提升。(默認開啟)
關於tcp_timestamps詳情請見: https://tools.ietf.org/pdf/rfc7323.pdf
開啟tcp_tw_recycle會啟用tcp time_wait的快速回收,這個參數不建議在NAT環境中啟用,它會引起相關問題。
tcp_tw_recycle是依賴tcp_timestamps參數的,在一般網路環境中,可能不會有問題,但是在NAT環境中,問題就來了。比如我遇到的這個情況,辦公室的外網地址只有一個,所有人訪問後台都會通過路由器做SNAT將內網地址映射為公網IP,由於服務端和客戶端都啟用了tcp_timestamps,因此TCP頭部中增加時間戳信息,而在伺服器看來,同一客戶端的時間戳必然是線性增長的,但是,由於我的客戶端網路環境是NAT,因此每台主機的時間戳都是凳禪卜有差異的,在啟用tcp_tw_recycle後,一旦有客戶端斷開連接,伺服器可能就會丟棄那些時間戳較小的客戶端的SYN包,這也就導致了網站訪問極不穩定。
主機A SIP:P1 (時間戳T0) ---> Server 主機A斷開後
主機B SIP:P1 (時棗穗間戳T2) T2 < T0 ---> Server 丟棄
經過此次故障,告誡我們在處理線上問題時,不能盲目修改參數,一定要經過測試,確認無誤後,再應用於生產環境。同時,也要加深對相關內核參數的認識和理解。
本文解決靈感來自於 https://blog.51cto.com/hld1992/2285410
https://blog.csdn.net/chengm8/article/details/51668992
『貳』 雲伺服器出現502錯誤怎麼辦
1.檢查伺服器連接
大多數網站都是通過多個伺服器或第三方代理來運行的。如果你所在的伺服器由於維護或其他原因關閉,你的網站可能會出現502 Bad Gateway Error頁面。唯一的解決辦法就是等待伺服器完成維護或是修復好故障。
2.檢查是否更改了DNS
如果你近期更改了主機伺服器或將網站移動到了其他IP地址下,就會更改網站的DNS伺服器。這可能導致該網站無法訪問,出現502 Bad Gateway Error頁面。在這些DNS更改完成之前,你的網站可能需要幾個小將才能啟動並運行。
3.檢查伺服器日誌
伺服器的日記的工作任務就是記錄網站被訪問的全過程,什麼時間到什麼時間有哪些人來過,什麼搜索引擎來過,有沒有收錄你的網頁。可以通過它來查看網站的健康狀態。仔細檢查日誌內容可能會找出問題所在。
4.修復防火牆故障
網站防火牆相當於網站的守衛者,保護你的網站免受非法用戶的侵入和分布式拒絕服務(DDOS)的攻擊。有時,防火牆設置錯誤會導致防火牆將從內容分發網路(CDN)過來的訪問請求視為對伺服器的攻擊,因此拒絕其訪問,從而導致502錯誤網關。
5.梳理網站代碼查找漏洞
如果網站的代碼出現錯誤,伺服器可能無法響應來自內容分發網路(CDN)的請求。梳理代碼以查找漏洞或將代碼復制到開發工具中。它將執行一個徹底的程序調試過程,該過程將模擬502錯誤網關是如何發生的,從而找出漏洞。
『叄』 阿里雲伺服器運行中總是無法訪問怎麼辦
延遲高、或者安全組沒有添加對應埠,都有可能導致這個問題。
『肆』 為什麼阿里雲ecs伺服器老是出現503錯誤,每天都要幾次 好煩
503是因為伺服器資源過載而無法處理請求時發出的錯誤。。
此情況可能性有很多,需要排查:
1、伺服器資源不夠了,需要擴展伺服器。。如訪問量過大;
2、伺服器配置不正確,如PHP配置問題而導致並發處理能力不夠,或NGINX配置問題等
3、網站程序中可能有死循環,SQL語句不規范,查詢浪費的資源過大等
『伍』 阿里雲主機突然出現伺服器500錯誤,怎麼辦
可能有三種情況:
第一種就是你可能誤改了後台那個地方的程序,導致無法正確讀取;
第二種是你如果是新站在空間管理頁面要點擊有個按鈕叫寫入許可權,因為一般新站都會被限制
第三中是系統原因,出錯了,從其伺服器,正確連接資料庫
『陸』 為什麼阿里雲伺服器遠程桌面經常連不上
連不上,大多原因是網路問題。
首先,判斷是不是機房網路問題,可以嘗試訪問其他網站,排除本地線路故障。
其次,針對雲伺服器IP做路由測試,追蹤是不是線路路由中間節點問題,進一步確認是否機房線路問題。
最後,大致可以鎖定是機房線路問題,需要聯系對方技術人員協助解決。
當然,連不上還有2種情況,一種是系統設置問題,由於系統某個軟體設置導致或設置了遠程埠號都有可能連不上。另一種是本地問題,如果本地做有策略無法使用遠程。
希望中電華聯的回答能夠幫助到你。