Uploaded image for project: 'mod_cluster'
  1. mod_cluster
  2. MODCLUSTER-328

mod_cluster doesn't recognize ? as a proper context delimiter causing 503s on requests with query strings

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: MOD_CLUSTER_1_0_10_GA_CP02, 1.2.1.Final
    • Fix Version/s: 1.2.4.Final
    • Component/s: None
    • Labels:
      None
    • Environment:

      -Enterprise Application Platform (EAP) 6.0.0
      -mod_cluster 1.2.1.FINAL

      and

      -Enterprise Application Platform (EAP) 5.1.2
      -mod_cluster 1.0.10.GA_CP02

    • Steps to Reproduce:
      Hide

      -Setup JBoss and mod_cluster
      -Deploy an application enabled with mod_cluster
      -Request the index page of the application context without a trailing slash but with a query string, for example:

      http://localhost/myappcontext?test=foo

      Show
      -Setup JBoss and mod_cluster -Deploy an application enabled with mod_cluster -Request the index page of the application context without a trailing slash but with a query string, for example: http://localhost/myappcontext?test=foo
    • Workaround:
      Workaround Exists
    • Workaround Description:
      Hide

      Include a trailing slash on any such index page requests or use a rewrite rule to add it.

      Show
      Include a trailing slash on any such index page requests or use a rewrite rule to add it.

      Description

      The following will all fail with 503s:

      http://localhost/helloworld?test=foo
      http://localhost/helloworld?test
      http://localhost/helloworld?

      And I noted the following all work:

      http://localhost/helloworld/?test=foo
      http://localhost/helloworld/?test
      http://localhost/helloworld/?

      So it looks like the issue here is that mod_cluster does not recognize ? as a delimiter when checking the request context. Thus with no trailing slash it treats the query string as part of the request context and tries to check the balancer for a deployed context of /helloworld?... which doesn't exist and 503s. Adding the trailing slash, mod_cluster can properly delimit this and then sees the context just as /helloworld, which can be found on the balancer for appropriate proxying.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  jfclere Jean-Frederic Clere
                  Reporter:
                  aogburn Aaron Ogburn
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  7 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: