今天上午給客戶部署系統(tǒng)的時候,居然一不小心踩坑了底循。因為服務(wù)器的部分環(huán)境部署我安裝的仿滔,所以有點坑惠毁。我們在項目中使用websocket 做通信處理,系統(tǒng)在內(nèi)網(wǎng)訪問一切正常崎页,當(dāng)用戶從外網(wǎng)訪問的時候出現(xiàn)問題了鞠绰。下面我們先來看下,服務(wù)器架構(gòu)实昨。
1洞豁、應(yīng)用部署環(huán)境
序列 | 架構(gòu) | 描述 |
---|---|---|
1 | SLB | 一個由多臺計算機構(gòu)成的集群 |
2 | ECS(應(yīng)用) | Elastic Compute Service,簡稱 ECS |
3 | ECS(跳轉(zhuǎn)) | 登錄部署系統(tǒng) |
4 | RDS(云數(shù)據(jù)庫) | ApsaraDB for RDS荒给,簡稱RDS |
5 | NAT | 網(wǎng)絡(luò)地址轉(zhuǎn)換 |
2.情景再現(xiàn)
用戶在訪問SLB的時候涉及到ws的地方發(fā)生了錯誤信息丈挟。請看下圖:
3.問題追蹤
既然系統(tǒng)之前部署在單機上是好的,現(xiàn)在部署在新的環(huán)境中內(nèi)網(wǎng)訪問也是好的志电。那么就是SLB的問題了曙咽。一檢查果然是的,發(fā)生錯誤之前的配置挑辆。如下:
4.解決方案
解決辦法就是將80端口分配給TCP協(xié)議例朱,因為http協(xié)議運行在TCP之上。
PS:遇到問題時候鱼蝉,一定不能慌洒嗤,仔細(xì)分析錯誤的細(xì)節(jié)和原因。祝小伙伴們好運魁亦。