nginx反向代理websocket,端口转发,附服务维护界面配置

nginx反向代理websocket,端口转发,附服务维护界面配置

  • 记录一次线上优化问题。
  • 需求:总部要求我方服务器只对外暴露80接口,防止恶意攻击,隐藏聊天服务器端口。
  • 现状:目前我们线上配置即时通讯聊天服务器端口为9999端口,tomcat为80端口。
  • 解决方案:nginx监听80端口,线上tomcat服务器改为8080端口,nginx配置如下,当遇到后缀为socket.io的转发到999端口,否则转发8080端口。这样就可以统一对外暴露80端口。详细配置如下图。
  • 附文如果服务宕机或者维护时配置14-20行代码如下。

   

  • 代理websocket如下,目前项目配置文件为 socketio.url=http://127.0.0.1去除9999端口,如果websocket启动正常,即可证明代理成功。
  • 配置文件如图 此时已经去掉9999端口
  • 启动ws如图前后对比带9999端口和不带的图


  • 结果证明:前后启动9999和不带9999的聊天服务器状态码都返回101,证明转发是成功的。这样已经可以隐藏聊天服务器的端口。

  • 维护界面效果如下图


  • 服务如果正常启动下图所示

遗留问题:目前nginx的做负载均衡,遇到如下问题,用户图片,文件的显示问题,目前线上设置nginx,ip_hash方案是不可行的,最初设置ip_hash是为了解决文件上传和下载不在一台服务器上的问题。但是后续需要一个问题,移动端用户的ip是一直变化的,如果按照目前的方案解决,同一个移动用户很大可能是看不到自己的历史图片和文件的,目前线上单台裸奔。




转载于:https://juejin.im/post/5c935bf2f265da60d428f229

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值