2013-07-15 15 views
11

ウェブソケットとリバースプロキシに問題があります。最新リリース2.4.5でアップグレードし、モジュールmod_proxy_wstunnelをロードしました。websocketでリバースプロキシmod_proxy_wstunnel

のhttpd.conf:

<VirtualHost *:80> 
ServerAdmin [email protected] 
ServerName www.toto.fr 
ServerAlias toto.fr 


ProxyPass /my_app http://1X.X.X.1:8080/my_app 
ProxyPassReverse /web_pmr http://1X.X.X.1:8080/my_app 
ProxyPassReverseCookiePath /my_app/
ProxyPassReverseCookieDomain localhost my_app 
ProxyRequests off 
ProxyTimeout 15 

#WEBSOCKETS 


ProxyPass /my_app/BasicWebsocketServlet ws://1X.X.X.1:8080/my_app/BasicWebsocketServlet retry=0 
ProxyPassReverse /my_app/BasicWebsocketServlet ws://1X.X.X.1:8080/web_pmr/BasicWebsocketServlet retry=0 


ErrorLog "logs/my_app_error.log" 
LogLevel debug 
CustomLog "logs/my_app_access.log" combined 
<Proxy *> 
     Order deny,allow 
     Allow from all 
</Proxy> 
</VirtualHost> 

私は私の地元のURLでテスト

は、WebSocketをが働いているが、リバースプロキシApacheで、Tomcatのログに痕跡はありません。

+0

「トレースなし」とはどういう意味ですか?要求はTomcatに転送されていますか? – jimjag

答えて

21

この行:この1の前に来て

ProxyPass /my_app/BasicWebsocketServlet ws://1X.X.X.1:8080/my_app/BasicWebsocketServlet retry=0 

ニーズ:

ProxyPass /my_app http://1X.X.X.1:8080/my_app 

https://httpd.apache.org/docs/2.4/mod/mod_proxy.html#proxypassから)説明:はProxyPassディレクティブ

に構成はProxyPassを注文

とプロxyPassMatchのルールは設定順にチェックされます。一致する最初のルールが勝つ。だから、通常は最長のURLから始めて、矛盾するProxyPassルールをソートする必要があります。さもなければ、より長いURLのための後の規則は、URLの先行する部分文字列を使用する以前の規則によって隠されます。労働者の分担とは何らかの関係があることに注意してください。対照的に、ロケーションブロックには1つのProxyPassディレクティブしか配置できず、最も特定の場所が優先されます。

同様の理由から、一般的なProxyPassディレクティブの前に除外する必要があります。

関連する問題