Apache 配置 WebSocket 协议

来源:互联网 发布:帝国时代2mac中文版 编辑:程序博客网 时间:2024/05/29 13:27

本文使用 http proxy 方式 实现 apache 支持  WebSocket 请求(JK 使用的 ajp 协议不能支持websocket)

关于 http proxy 方式 请参考:http://blog.csdn.net/conquer0715/article/details/42043411


通过 apache 访问 后端 tomcat上的 websocket 服务,需要使用 mod_proxy.so 和 mod_proxy_wstunnel.so两个库文件(在apache2.4 安装目录下已存在,放开httpd.conf文件中的注释即可使用),如果应用中需要通过http协议访问某些页面(如index页面)则需要添加使用 mod_proxy_http.so,如下:

LoadModule proxy_module modules/mod_proxy.soLoadModule proxy_http_module modules/mod_proxy_http.soLoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so最后面添加:ProxyPass /web/websocket/ ws://l:8080/web/websocket/ProxyPass / http://127.0.0.1:8080/

我的apache端口使用的是 7000,所以访问 http://127.0.0.1:7000/web/ 就出现了 index.html首页(此次访问不是websocket,所以需要开启mod_proxy_http.so,如果不需要可以关闭加载mod_proxy_http.so

我的应用中配置的 websocket服务都在  web/websocket/ 下面,所以配置了映射,对于其它所有映射如 “/” 需要配置到 web/websocket/ 映射的后面,否则 web/websocket/ 的映射会被当做http协议处理。


注意: WebSocket 负载均衡没有 亲和/非亲和 概念!!!


2 1
原创粉丝点击