-
Type:
Bug
-
Status: Verified (View Workflow)
-
Priority:
Critical
-
Resolution: Done
-
Affects Version/s: httpd 2.4.23 GA
-
Fix Version/s: httpd 2.4.29 DR5
-
Component/s: jbcs-httpd24-httpd
-
Labels:None
-
Target Release:
Description of problem:
jbcs httpd-2.4.23 as reverse proxy for backend websocket server using mod_proxy_wstunnel does not works in either of the use cases.
1] mod_proxy_wstunnel with mod_cluster
2] mod_proxy_wstunnel with mod_proxy_balancer (no mod_cluster modules in use)
Version-Release number of selected component:
jbcs-httpd24-httpd-2.4.23
Steps to Reproduce:
Apache HTTPD configuration
#Load required proxy modules : $HTTPD_HOME/conf.module.d/00-proxy.conf |
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
|
LoadModule proxy_module modules/mod_proxy.so
|
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
|
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
|
|
|
#Simple Load Balancing: Create a new file $HTTPD_HOME/conf.d/mod_proxy_wstunnel.conf |
<VirtualHost *:80> |
ServerName 192.168.122.1 |
|
|
ProxyPreserveHost On
|
|
|
<Proxy balancer://mycluster> |
BalancerMember ws:///192.168.122.1:8080 |
BalancerMember ws:///192.168.122.1:8180 |
</Proxy>
|
|
|
|
|
ProxyPass /jboss-websocket-hello balancer://mycluster/jboss-websocket-hello |
ProxyPassReverse /jboss-websocket-hello balancer://mycluster/jboss-websocket-hello |
|
|
<Proxy *>
|
Order deny,allow
|
Allow from all
|
</Proxy>
|
</VirtualHost>
|
Actual results:
Apache httpd access logs throw HTTP 500 error code for request http://192.168.122.1/jboss-websocket-hello
Apache httpd error logs below error:
[Fri Feb 03 21:09:31.626552 2017] [proxy_wstunnel:debug] [pid 19118] mod_proxy_wstunnel.c(300): [client 192.168.122.1:50684] AH02900: declining URL ws://192.168.122.1:8080/jboss-websocket-hello (not WebSocket)
[Fri Feb 03 21:09:31.626675 2017] [proxy:warn] [pid 19118] [client 192.168.122.1:50684] AH01144: No protocol handler was valid for the URL /jboss-websocket-hello. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule.
Expected results:
The request http://192.168.122.1/jboss-websocket-hello must be successful with HTTP 200 good status code.
Additional info:
This issue does not exist in earlier jbcs httpd version : jbcs-httpd24-httpd-2.4.6 and JBoss Web Server httpd-2.4.6.