Uploaded image for project: 'JBoss Core Services'
  1. JBoss Core Services
  2. JBCS-291

jbcs httpd-2.4.23 as reverse proxy for backend websocket server using mod_proxy_wstunnel does not works

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Critical Critical
    • httpd 2.4.29 DR5
    • httpd 2.4.23 GA
    • httpd
    • None

      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.

        1. trace.txt
          4 kB
          Jean-Frederic Clere
        2. successful-example-with-undertow.gif
          186 kB
          Karm Karm
        3. conf-4-open-refresh-click-open-message.png
          152 kB
          Karm Karm
        4. conf-1-clicked-open.png
          104 kB
          Karm Karm
        5. conf-3-clicked-open.png
          152 kB
          Karm Karm
        6. conf-3-opened.png
          85 kB
          Karm Karm
        7. conf1.log
          51 kB
          Karm Karm
        8. conf2.log
          21 kB
          Karm Karm
        9. conf3.log
          57 kB
          Karm Karm
        10. conf4.log
          91 kB
          Karm Karm
        11. conf-2-err.png
          85 kB
          Karm Karm
        12. conf-1-opened.png
          98 kB
          Karm Karm
        13. jboss-websocket-hello.war
          8 kB
          Dasharath Masirkar

              rhn-engineering-jclere Jean-Frederic Clere
              rhn-support-dmasirka Dasharath Masirkar
              Karm Karm Karm Karm
              Votes:
              0 Vote for this issue
              Watchers:
              11 Start watching this issue

                Created:
                Updated:
                Resolved: