nginx反向代理配置 多个_实例分享:Nginx学习之反向代理WebSocket配置实例
写在开始
去年,做过一款竞赛打分的APP。具体需求,同组教师之间可以相互通信,及时通知同组人员,其他组员做了那些操作(当然,这只是针对特定操作)。
实现方案
采用目前比较成熟的WebSocket技术,WebSocket协议为创建客户端和服务器端需要实时双向通讯的webapp提供了一个选择。其为HTML5的一部分,WebSocket相较于原来开发这类app的方法来说,其能使开发更加地简单。大部分现在的浏览器都支持WebSocket,比如Firefox,IE,Chrome,Safari,Opera,并且越来越多的服务器框架现在也同样支持WebSocket。
WebSocket集群
在实际的生产环境中,要求多个WebSocket服务器必须具有高性能和高可用,那么WebSocket协议就需要一个负载均衡层,NGINX从1.3开始支持WebSocket,其可以作为一个反向代理和为WebSocket程序做负载均衡。
Nginx配置
注:看官方文档说 Nginx 在 1.3 以后的版本才支持 websocket 反向代理,所以要想使用支持 websocket 的功能,必须升级到 1.3 以后的版本
NGINX通过允许一个在客户端和后端服务器之间建立的隧道来支持WebSocket。为了NGINX发送来至于客户端Upgrade请求到后端服务器,Upgrade和Connection头部必须被设置明确。
代码实例:
前端配置:
最后,重启下Nginx即可。
反向代理服务器在支持WebSocket时面临的挑战
WebSocket是端对端的,所以当一个代理服务器从客户端拦截一个Upgrade请求,它需要去发送它自己的Upgrade请求到后端服务器,也包括合适的头。
因为WebSocket是一个长连接,不像HTTP那样是典型的短连接,所以反向代理服务器需要允许连接保持着打开,而不是在它们看起来空闲时就将它们关闭。
nginx反向代理配置 多个_实例分享:Nginx学习之反向代理WebSocket配置实例相关推荐
- nginx解决浏览器跨域问题_前端通过Nginx反向代理解决跨域问题
在前面写的一篇文章SpringMVC解决跨域问题,我们探讨了什么是跨域问题以及SpringMVC怎么解决跨域问题,解决方式主要有如下三种方式: JSONP CORS WebSocket 可是这几种方式 ...
- cisco 模拟器安装及交换机的基本配置实验心得_网络工程师的Python之路 -- 自动监测网络配置变化...
版权声明:我已加入"维权骑士"(http://rightknights.com)的版权保护计划,所有知乎专栏"网路行者"下的文章均为我本人(知乎ID:弈心)原创 ...
- cisco 模拟器安装及交换机的基本配置实验心得_「分享」7个必看的Cisco实验
1.修改cisco 路由器的名称及路由器密码命令操作 实验要求: 1.路由器名:cisconet 2.设置password为cisconet,secret为cisconet,vty为cisconet, ...
- python零基础实例-零基础学习Python开发练习100题实例(1)
零基础学习Python开发练习100题实例(1) 2018-02-25 09:37:59 2864浏览 1.题目:有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序 ...
- nginx配置url重定向_详解nginx配置url重定向-反向代理
https://www.jb51.net/article/99996.htm 本文系统:Centos6.5_x64 三台主机:nginx主机,hostname: master.lansgg.com ...
- nginx中配置angular项目_强大,Nginx配置一键生成
推荐阅读: 关于 JVM,都有哪些面试最常考的点需要重点掌握? 面试却被 Java 基础难住了?不要怕,我来带你一起手撕面试官阿里一线架构师分享的技术图谱,进阶加薪全靠它 前因 关于Nginx部署.配 ...
- nginx配置文件被删怎么找回_隔行如隔山之nginx服务器删除文件
虽然我平时比较喜欢折腾博客网站,也喜欢折腾WordPress主题等,但是从未折腾过nginx服务器,就连我现在用的这台阿里云ECS服务器都是找张戈博主帮忙安装的,所以对于nginx服务器真的是一窍不通 ...
- mysql5.7复制集_技术分享 | 克隆:更优雅的创建 MySQL 实例副本
背景 大多情况下,需要可靠而有效地克隆 MySQL 实例数据.这包括 MySQL 高可用的解决方案,其中需要在将实例加入组复制集群之前配置实例,或者在经典复制模型中将其添加为 Slave. 为复制拓扑 ...
- 锐捷交换机配置snmp版本_网工收藏必备——思科交换机常用SNMP配置命令分享
简单网络管理协议(snmp)对于每个网络管理员来说说都是必需的.通过几个简单的命令,我们就可以对其进行配置.目前SNMP仍然是监视网络设备(包括cisco路由器和交换机)性能的流行方法.通过SNMP管 ...
- 工具类软件操作手册_全套广联达软件学习资料合集:教程+实例讲解+操作手册,一文搞定...
要学习并掌握好算量软件,不仅仅需要软件知识,还需要各种造价相关知识,只有精通软件及造价知识,才能大大的提高算量的速度及准确度. 一个算量的高手掌握的不单是软件操作技术,还要掌握的是造价的基础知识,你要 ...
最新文章
- LeetCode: 111. Minimum Depth of Binary Tree
- 【408】C函数中的ADT
- php项目后的感受,PHP项目感受4 - 刘景刘恒的个人空间 - OSCHINA - 中文开源技术交流社区...
- asp.net模态窗口返回值
- Java 三大特性之——继承
- 从1.5k到18k, 一个程序员的5年成长之路
- 酷柚易汛工资条代码全开源,方便二次开发
- R语言 聚类分析代码 系统聚类 K均值聚类 可视化
- 删除卸载企业微信后的残留文件
- 异步编程举例之闹钟程序
- 如何限制局域网计算机上网,怎么样禁止局域网用户修改电脑ip地址
- 瑞典皇家理工学院计算机科学世界排名,2017瑞典皇家理工学院世界排名
- module_param传递参数
- 应用程序 iis 中的服务器错误,unhandled-exception
- CSS-margin外边距
- 杰里混响调MIC增益和深度【篇】
- Android获取酷狗音乐歌曲详细信息
- js 正则验证三位小数
- mount samba file system
- LM小型可编程控制器软件(基于CoDeSys)笔记十三:网络资源汇总