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

Details

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

    Description

      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.

      Attachments

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

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: