3 Replies Latest reply on May 16, 2013 8:16 PM by mbabacek

    Modcluster 1.2.0.Final + JBOSS EAP 6.0.1 does not work under IPv6?

    lmcqfan

      Hi,

      we are using modcluster 1.2.0.Final together with jboss-eap-6.0.1. When we use IPv4, everything is fine.

       

      But when we switch everything to IPv6(including Jboss EAP instances and modcluster itself which means AJP is listening on IPv6 addr and modcluster manager port 6666 is also listening on IPv6 addr and modcluster external incoming traffic is listening on IPv6 addr too). We start getting errors in the modcluster error.log. Just wondering if this is a known issue for modcluster 1.2.0 Final? or I miss configured anything. If it is a known issue, is there any workaround for this issue. thanks a lot,

       

      //Qiang

       

      Here is the mocluster error.log. Is this a bug in modcluster that it cannot parse the ipv6 address?

       

      [Wed May 15 16:20:35 2013] [error] [client (null)] proxy: URI cannot be parsed: ajp://fd00:0:0:0:0:0:0:4%8:30300/ returned by /

      [Wed May 15 16:20:37 2013] [error] [client fd00::3] proxy: URI cannot be parsed: ajp://fd00:0:0:0:0:0:0:3%9:30301/ returned by /

      [Wed May 15 16:20:37 2013] [error] [client fd00::3] proxy: URI cannot be parsed: ajp://fd00:0:0:0:0:0:0:3%9:30300/ returned by /

       

      Here is the modcluster configuration we used on jboss EAP side.

       

              <subsystem xmlns="urn:jboss:domain:modcluster:1.1">

                  <mod-cluster-config advertise-socket="modcluster" proxy-list="[fd00::1]:6666" connector="ajp">

                      <dynamic-load-provider>

                          <load-metric type="busyness"/>

                      </dynamic-load-provider>

                  </mod-cluster-config>

              </subsystem>

       

       

      In the modcluster manager page, we can see the jboss eap instance is connected. it shows the context as well.

       

      mod_cluster/1.2.0.Final

      Auto Refresh show DUMP output show INFO output

      Node d9f007d6-cd97-3720-99c4-959083f4e2c3 (ajp://[fd00:0:0:0:0:0:0:3%9]:30301):

      Enable Contexts Disable Contexts

      Balancer: mycluster,LBGroup: ,Flushpackets: Off,Flushwait: 10000,Ping: 10000000,Smax: 26,Ttl: 60000000,Status: NOTOK,Elected: 0,Read: 0,Transferred: 0,Connected: 0,Load: -1

      Virtual Host 1:

      Contexts:

      /Example, Status: ENABLED Request: 0 Disable

      /FilterExample, Status: ENABLED Request: 0 Disable

      /ValveExample, Status: ENABLED Request: 0 Disable

      Aliases:

      default-host

      localhost

      example.com

       

      when we actually access the servlet URL, we got 503 "Service Temporarily Unavailable".

      "The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later."

       

      It seems the jboss EAP does send the ajp package to the modcluster. but the modcluster cannot parse the IPv6 URI. "proxy: URI cannot be parsed: ajp://fd00:0:0:0:0:0:0:4%8:30300/"

       

      I also attached the tcpdump for the ajp traffic between JBOSS EAP and Modcluster. from the decoded packets. we can see that JBOSS EAP sends the AJP message to Modcluster, then modcluster response with 200 OK but with the content NOTOK.

      HTTP/1.1 200 OK

      Date: Wed, 15 May 2013 20:27:47 GMT

      Server: Apache/2.2.21 (Unix) mod_cluster/1.2.0.Final mod_ssl/2.2.21 OpenSSL/0.9.8r DAV/2 mod_jk/1.2.30

      Content-Length: 88

      Keep-Alive: timeout=300

      Connection: Keep-Alive

      Content-Type: text/plain

       

      Type=STATUS-RSP&JVMRoute=d9f007d6-cd97-3720-99c4-959083f4e2c3&State=NOTOK&id=2043641464