spring websocket基于STOMP协议实现,apache httpd反向代理配置

最近打算正式使用websocket,需要做负载,而使用的是apache http server,捣腾了一天找到了一种比较靠谱的方式,特此记录一下。

加载的模块如下:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule proxy_express_module modules/mod_proxy_express.so

不排除有遗漏,因为我这边全部加载的,只去除了几个不需要的。

 

conf/http.conf中需要加入或者删除注释:

Include conf/extra/httpd-vhosts.conf

 

conf/extra/httpd-vhosts.conf配置:

<VirtualHost *:8088>

    ServerAdmin webmaster@dummy-host.bigdata.com
    ServerName localhost
    ErrorLog "logs/bigdata.com-error_log"

    CustomLog "logs/bigdata.com-access_log" common
     ProxyRequests Off
     Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED

# websocket
    RewriteEngine On 
    RewriteCond %{HTTP:Connection} Upgrade [NC]
    RewriteCond %{HTTP:Upgrade} websocket [NC]
    RewriteRule /(.*)           balancer://proxy2/$1 [P,QSA,L]

     Proxypass /bigdata balancer://proxy
        #stickysession=JSESSIONID|jsessionid nofailover=On
     ProxyPassReverse /bigdata balancer://proxy

     #ProxyPassReverseCookiePath /bigdata /bigdata

   <Proxy balancer://proxy2>
         Order Deny,Allow
         Allow from all
     
      RequestHeader set Connection "Upgrade"
      RequestHeader set Upgrade "websocket"   
      BalancerMember ws://10.214.136.181:8080 loadfactor=2 route=work89
      BalancerMember ws://10.214.136.180:8080 loadfactor=1 route=work90
      ProxySet stickysession=ROUTEID
     </Proxy>

     <Proxy balancer://proxy>
         Order Deny,Allow
         Allow from all
         BalancerMember http://10.214.136.180:8080/bigdata loadfactor=2 route=work89
         BalancerMember http://10.214.136.180:8080/bigdata loadfactor=1 route=work90
         ProxySet stickysession=ROUTEID
     </Proxy>

</VirtualHost>

根据头信息是否是websocket来重写url。

转载于:https://my.oschina.net/u/989834/blog/1934942

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值