配置nginx+tomcat支持websocket
问题情景:
最近开发新增加一个项目,需要支持https wss协议
访问https://test.aa.com 使用nginx反向代理到后端tomcat web应用
访问https://test.aa.com/AAASService/websocket 反向代理到后端tomcat的websocket
一开始以为都是默认支持wss,就按照配置https协议配置了,后来发现行不通,在后端查看tomcat日志如下:
org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/AAASService/websocket/123456] in DispatcherServlet with name 'dispatcherServlet'
查看nginx日志访问状态返回
网上搜索了一圈终于找到原因:
1.websocket需要tomcat7.0以上才支持
2.nginx需要配置相应的参数
解决:
nginx配置:
location / {
access_log /usr/local/nginx/log/qrcode.access.log main;
error_log /usr/local/nginx/log/qrcode.error.log warn;
proxy_pass http://10.20.168.81:9090;
}
location /QRMSService/websocket {
access_log /usr/local/nginx/log/qrcode.access.log main;
error_log /usr/local/nginx/log/qrcode.error.log warn;
proxy_pass http://10.20.168.81:9090/QRMSService/websocket;
proxy_set_header Upgrade $http_upgrade; #需要添加这两行配置,让nginx响应websocket请求
proxy_set_header Connection "upgrade";
proxy_connect_timeout 4s; #为了防止socket链接很快就断掉需要按照各自的需求配置如下三个参数
proxy_read_timeout 7200s;
proxy_send_timeout 12s;
}
重新加载nginx 测试访问正常
配置nginx+tomcat支持websocket的更多相关文章
- Centos6.7配置Nginx+Tomcat简单整合
系统环境:Centos 6.7 软件环境:JDK-1.8.0_65.Nginx-1.10.3.Tomcat-8.5.8 文档环境:/opt/app/ 存放软件目录,至于mkdir创建文件就不用再说了 ...
- 配置 Nginx 反向代理 WebSocket
用Nginx给网站做反向代理和负载均衡是广泛使用的一种Web服务器部署技术.不仅能够保证后端服务器的隐蔽性,还可以提高网站部署灵活性. 今天我们来讲一下,如何用Nginx给WebSocket服务器实现 ...
- CentOS6.5 简单配置Nginx + tomcat
1.配置nginx.conf vi /usr/local/nginx/conf/nginx.conf --这是你的安装目录 注:红框地方为任意位置,server在配置文件中已存在 我使用的是两个tom ...
- linux下配置Nginx,支持thinkphp
前言引入 一个刚入行的朋友,刚换工作,入职了一个新公司.新公司一个php开发,就是他.俨然老板把他当成公司扛把子了,把服务器都给了他,让他部署整个php的开发环境.那个朋友是wamp爱好者.然后面对l ...
- 注意这几点,轻轻松松配置 Nginx + Tomcat 的集群和负载均衡
Tomcat 集群是当单台服务器达到性能瓶颈,通过横向扩展的方式提高整体系统性能的有效手段.Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,可以通过简单的配置实现 Tomcat 集群 ...
- Nginx配置反向代理支持WebSocket
http { #WebSocket代理配置 map $http_upgrade $connection_upgrade { default upgrade; '' close; } server { ...
- 配置Nginx反向代理WebSocket,以代理noVNC为例
什么是Nginx Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器. Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮 ...
- linux下项目上线配置nginx+tomcat
nginx.conf server { listen 80; server_name www.examples.com; client_max_body_size 300m; #charset koi ...
- 配置Nginx来支持php
安装php7 下载地址:https://secure.php.net/downloads.php这里下载的是:wget http://ar2.php.net/distributions/php ...
随机推荐
- [Selenium] Selenium find Element Examples
---> 1. By.id 以百度主页为例 <span classs = "bg s_ipt_wr"> <input type = "text& ...
- 【AHOI2009】中国象棋
[题目链接] 点击打开链接 [算法] 动态规划 f[i][j][k]表示前i行,有j列放了1个,有k列放了两个 分六种情况讨论即可 [代码] #include<bits/stdc++.h> ...
- Flask app.config 的配置
原理如下: image.png 1.通过调用自定义config.py文件中config字典,可以得到一个类, 这个类里面定义的都是类变量,这些变量就是自定义的一些配置项. 如下config.py ...
- poj1830开关问题——异或高斯消元
题目:http://poj.org/problem?id=1830 根据题意,构造出n元方程组: a(1,1)x1 ^ a(1,2)x2 ^ a(1,3)x3 ... a(1,n)xn = st1 ^ ...
- jmeter+jenkins+ant部署持续集成测试
原文地址:http://blog.csdn.net/kaluman/article/details/74535495 开头的注意事项: 1.所有的环境变量和代码,都需要使用英文的符号,变量之间都需要英 ...
- python之路,day7-面向对象变成
本篇内容: 面向对象.类方法.属性方法 类的特殊方法 反射 异常处理 Socket开发基础 一.面向对象高级语法部分 静态方法: #@staticmethod只是名义上归类管理,实际上跟类没什么关系 ...
- Lua变量
Lua 变量 变量在使用前,必须在代码中进行声明,即创建该变量. 编译程序执行代码之前编译器需要知道如何给语句变量开辟存储区,用于存储变量的值. Lua 变量有三种类型:全局变量.局部变量.表中的域. ...
- CodeForces 719A Vitya in the Countryside (水题)
题意:根据题目,给定一些数字,让你判断是上升还是下降. 析:注意只有0,15时特别注意一下,然后就是14 15 1 0注意一下就可以了. 代码如下: #pragma comment(linker, & ...
- linux下sprintf_s函数的替代(转载)
转自:http://www.cnblogs.com/yeahgis/archive/2013/01/22/2872179.html windows平台下线程安全的格式化字符串函数sprint_s并非标 ...
- linux C之access函数(转载)
转自:http://blog.sina.com.cn/s/blog_6a1837e90100uh5d.html access():判断是否具有存取文件的权限 相关函数 stat,open,chm ...