Web项目部署踩坑之websocket

今天上午给客户部署系统的时候,居然一不小心踩坑了。因为服务器的部分环境部署我安装的,所以有点坑。我们在项目中使用websocket 做通信处理,系统在内网访问一切正常,当用户从外网访问的时候出现问题了。下面我们先来看下,服务器架构。

1、应用部署环境
序列 架构 描述
1 SLB 一个由多台计算机构成的集群
2 ECS(应用) Elastic Compute Service,简称 ECS
3 ECS(跳转) 登录部署系统
4 RDS(云数据库) ApsaraDB for RDS,简称RDS
5 NAT 网络地址转换
2.情景再现

用户在访问SLB的时候涉及到ws的地方发生了错误信息。请看下图:

没有握手成功
3.问题追踪

既然系统之前部署在单机上是好的,现在部署在新的环境中内网访问也是好的。那么就是SLB的问题了。一检查果然是的,发生错误之前的配置。如下:

发生错误之前的监听
4.解决方案

解决办法就是将80端口分配给TCP协议,因为http协议运行在TCP之上。

修改之后正确的端口设置

PS:遇到问题时候,一定不能慌,仔细分析错误的细节和原因。祝小伙伴们好运。

你可能感兴趣的:(Web项目部署踩坑之websocket)