server.xml 配置文件

server.xml 配置文件

我在同一台计算机上运行了两个 Tomcat 7.0.8 实例(Tomcat7A 和 Tomcat7B),IIS 7.5 充当前端负载均衡器,isapi-redirector 1.2.31 运行在 Windows 2008 R2 上。当我断开正在处理请求的实例时,我可以看到一个新实例被分配了相同的 sessionid,但随后用户被重定向到登录页面。

server.xml 配置文件

<Engine name="Catalina" defaultHost="localhost" jvmRoute="Tomcat7A">

  <Realm className="org.apache.catalina.realm.LockOutRealm">
    <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
           resourceName="UserDatabase"/>
  </Realm>

  <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">

  <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
             channelSendOptions="8">

      <Manager className="org.apache.catalina.ha.session.DeltaManager"
               expireSessionsOnShutdown="false"
               notifyListenersOnReplication="true"/>

      <Channel className="org.apache.catalina.tribes.group.GroupChannel">
        <Membership className="org.apache.catalina.tribes.membership.McastService"
                    address="228.0.0.8"
        bind="7.3.1.22"
                    port="45564"
                    frequency="500"
                    dropTime="3000"/>
        <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
                  address="auto"
                  port="4200"
                  autoBind="100"
                  selectorTimeout="5000"
                  maxThreads="6"/>

        <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
          <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
        </Sender>
        <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
        <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
      </Channel>

      <Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
             filter=".*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt"/>
      <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>

      <ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
      <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
    </Cluster>    

    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"  
           prefix="localhost_access_log." suffix=".txt"
           pattern="%h %l %u %t &quot;%r&quot; %s %b" resolveHosts="false"/>

  </Host>
</Engine>

worker_mount_file=C:\tomcat\iis\conf\uriworkermap_prod.properties

worker.list = balancer,status

worker.Tomcat7B.host = 7.3.1.22
worker.Tomcat7B.type = ajp13
worker.Tomcat7B.port = 8010
worker.Tomcat7B.lbfactor = 10

worker.Tomcat7A.host = 7.3.1.22
worker.Tomcat7A.type = ajp13
worker.Tomcat7A.port = 8009
worker.Tomcat7A.lbfactor = 10

worker.balancer.type = lb
worker.balancer.sticky_session = 1
worker.balancer.balance_workers = Tomcat7B, Tomcat7A

worker.status.type = status

isapi_redirect 日志

[debug] wc_get_worker_for_name::jk_worker.c (116): found a worker balancer  
[debug] HttpExtensionProc::jk_isapi_plugin.c (2188): got a worker for name balancer  
[debug] service::jk_lb_worker.c (1118): service sticky_session=1    id='89569C584CC4F58740D649C4BE655D36.Tomcat7B'  
[debug] get_most_suitable_worker::jk_lb_worker.c (946): searching worker for partial sessionid   89569C584CC4F58740D649C4BE655D36.Tomcat7B  
[debug] get_most_suitable_worker::jk_lb_worker.c (954): searching worker for session route Tomcat7B  
[debug] get_most_suitable_worker::jk_lb_worker.c (968): found worker Tomcat7B (Tomcat7B) for route  Tomcat7B and partial sessionid 89569C584CC4F58740D649C4BE655D36.Tomcat7B
[debug] service::jk_lb_worker.c (1161): service worker=Tomcat7B route=Tomcat7B  
[debug] ajp_get_endpoint::jk_ajp_common.c (3096): acquired connection pool slot=0 after 0 retries  
[debug] ajp_marshal_into_msgb::jk_ajp_common.c (605): ajp marshaling done  
[debug] ajp_service::jk_ajp_common.c (2379): processing Tomcat7B with 2 retries  
[debug] jk_shutdown_socket::jk_connect.c (726): About to shutdown socket 820 [7.3.1.22:24482 -> 7.3.1.22:8010]
[debug] jk_shutdown_socket::jk_connect.c (797): shutting down the read side of socket 820 [7.3.1.22:24482 -> 7.3.1.22:8010]
[debug] jk_shutdown_socket::jk_connect.c (808): Shutdown socket 820 [7.3.1.22:24482 -> 7.3.1.22:8010] and read 0 lingering bytes in 0 sec.
[debug] ajp_send_request::jk_ajp_common.c (1496): (Tomcat7B) failed sending request, socket 820 is not connected any more (errno=-10000)
[debug] ajp_next_connection::jk_ajp_common.c (823): (Tomcat7B) Will try pooled connection socket 896 from slot 1
[debug] jk_shutdown_socket::jk_connect.c (726): About to shutdown socket 896 [7.3.1.22:24488 -> 7.3.1.22:8010]
[debug] jk_shutdown_socket::jk_connect.c (797): shutting down the read side of socket 896 [7.3.1.22:24488 -> 7.3.1.22:8010]
[debug] jk_shutdown_socket::jk_connect.c (808): Shutdown socket 896 [7.3.1.22:24488 -> 7.3.1.22:8010] and read 0 lingering bytes in 0 sec.
[debug] ajp_send_request::jk_ajp_common.c (1496): (Tomcat7B) failed sending request, socket 896 is not connected any more (errno=-10000)
[info] ajp_send_request::jk_ajp_common.c (1567): (Tomcat7B) all endpoints are disconnected, detected by connect check (2), cping (0), send (0)
[debug] jk_open_socket::jk_connect.c (484): socket TCP_NODELAY set to On
[debug] jk_open_socket::jk_connect.c (608): trying to connect socket 896 to 7.3.1.22:8010
[info] jk_open_socket::jk_connect.c (626): connect to 7.3.1.22:8010 failed (errno=61)
[info] ajp_connect_to_endpoint::jk_ajp_common.c (959): Failed opening socket to (7.3.1.22:8010) (errno=61)
[error] ajp_send_request::jk_ajp_common.c (1578): (Tomcat7B) connecting to backend failed. Tomcat is probably not started or is listening on the wrong port (errno=61)
[info] ajp_service::jk_ajp_common.c (2543): (Tomcat7B) sending request to tomcat failed (recoverable), because of error during request sending (attempt=1)
[debug] ajp_service::jk_ajp_common.c (2400): retry 1, sleeping for 100 ms before retrying
[debug] ajp_send_request::jk_ajp_common.c (1572): (Tomcat7B) all endpoints are disconnected.
[debug] jk_open_socket::jk_connect.c (484): socket TCP_NODELAY set to On
[debug] jk_open_socket::jk_connect.c (608): trying to connect socket 896 to 7.3.1.22:8010
[info] jk_open_socket::jk_connect.c (626): connect to 7.3.1.22:8010 failed (errno=61)
[info] ajp_connect_to_endpoint::jk_ajp_common.c (959): Failed opening socket to (7.3.1.22:8010) (errno=61)
[error] ajp_send_request::jk_ajp_common.c (1578): (Tomcat7B) connecting to backend failed. Tomcat is probably not started or is listening on the wrong port (errno=61)
[info] ajp_service::jk_ajp_common.c (2543): (Tomcat7B) sending request to tomcat failed (recoverable), because of error during request sending (attempt=2)
[error] ajp_service::jk_ajp_common.c (2562): (Tomcat7B) connecting to tomcat failed.
[debug] ajp_reset_endpoint::jk_ajp_common.c (757): (Tomcat7B) resetting endpoint with socket -1 (socket shutdown)
[debug] ajp_done::jk_ajp_common.c (3013): recycling connection pool slot=0 for worker Tomcat7B
[debug] service::jk_lb_worker.c (1374): worker Tomcat7B escalating local error to global error
[info] service::jk_lb_worker.c (1388): service failed, worker Tomcat7B is in error state
[debug] service::jk_lb_worker.c (1399): recoverable error... will try to recover on other worker
[debug] get_most_suitable_worker::jk_lb_worker.c (946): searching worker for partial sessionid 89569C584CC4F58740D649C4BE655D36.Tomcat7B
[debug] get_most_suitable_worker::jk_lb_worker.c (954): searching worker for session route Tomcat7B
[debug] get_most_suitable_worker::jk_lb_worker.c (1001): found best worker Tomcat7A (Tomcat7A) using method 'Request'
[debug] service::jk_lb_worker.c (1161): service worker=Tomcat7A route=Tomcat7B
[debug] ajp_get_endpoint::jk_ajp_common.c (3096): acquired connection pool slot=0 after 0 retries
[debug] ajp_marshal_into_msgb::jk_ajp_common.c (605): ajp marshaling done
[debug] ajp_service::jk_ajp_common.c (2379): processing Tomcat7A with 2 retries
[debug] ajp_send_request::jk_ajp_common.c (1572): (Tomcat7A) all endpoints are disconnected.
[debug] jk_open_socket::jk_connect.c (484): socket TCP_NODELAY set to On
[debug] jk_open_socket::jk_connect.c (608): trying to connect socket 896 to 7.3.1.22:8009
[debug] jk_open_socket::jk_connect.c (634): socket 896 [7.3.1.22:24496 -> 7.3.1.22:8009] connected
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): sending to ajp13 pos=4 len=615 max=8192
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0000     .4.c....HTTP/1.1
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0010     .../Accounter/pr
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0020     intFrameSet.jhtm
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0030     l...::1...::1...
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0040     localhost..P....
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0050     ...Keep-Alive...
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0060     ..0....rimage/jp
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0070     eg,.image/gif,.i
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0080     mage/pjpeg,.appl
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0090     ication/x-ms-app
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 00a0     lication,.applic
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 00b0     ation/xaml+xml,.
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 00c0     application/x-ms
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 00d0     -xbap,.*/*...Acc
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 00e0     ept-Encoding...g
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 00f0     zip,.deflate...A
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0100     ccept-Language..
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0110     .nb-NO....]Usern
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0120     ame=NA_jose.mati
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0130     as_AT_addenergy.
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0140     no;.JSESSIONID=8
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0150     9569C584CC4F5874
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0160     0D649C4BE655D36.
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0170     Tomcat7B.....loc
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0180     alhost.....http:
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0190     //localhost/Acco
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 01a0     unter/NemsAccoun
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 01b0     ter.jhtml....uMo
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 01c0     zilla/4.0.(compa
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 01d0     tible;.MSIE.8.0;
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 01e0     .Windows.NT.6.1;
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 01f0     .WOW64;.Trident/
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0200    4.0;.SLCC2;..NET
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0210     .CLR.2.0.50727;.
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0220     .NET4.0C;..NET4.
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0230     0E)............F
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0240     rameName=Reports
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0250     _CS_EUETS....Tom
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0260     cat7B...........
[debug] ajp_send_request::jk_ajp_common.c (1632): (Tomcat7A) request body to send 0 - request body to resend 0
[debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1329): received from ajp13 pos=0 len=238 max=8192
[debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1329): 0000     .....Moved.Tempo
[debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1329): 0010     rarily......OJSE
[debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1329): 0020     SSIONID=6A2507A4
[debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1329): 0030     626F698EC74A733C
[debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1329): 0040     DBA7D9FE.Tomcat7
[debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1329): 0050     A;.Path=/Account
[debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1329): 0060     er;.HttpOnly...P
[debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1329): 0070     ragma...no-cache
[debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1329): 0080     ...Cache-Control
[debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1329): 0090     ...no-cache....&
[debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1329): 00a0     http://localhost
[debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1329): 00b0     /Accounter/login
[debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1329): 00c0     .jhtml.....text/
[debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1329): 00d0     html;charset=ISO
[debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1329): 00e0     -8859-1.....0...
[debug] ajp_unmarshal_response::jk_ajp_common.c (660): status = 302
[debug] ajp_unmarshal_response::jk_ajp_common.c (667): Number of headers is = 6
[debug] ajp_unmarshal_response::jk_ajp_common.c (723): Header[0] [Set-Cookie] = [JSESSIONID=6A2507A4626F698EC74A733CDBA7D9FE.Tomcat7A; Path=/Accounter; HttpOnly]
[debug] ajp_unmarshal_response::jk_ajp_common.c (723): Header[1] [Pragma] = [no-cache]
[debug] ajp_unmarshal_response::jk_ajp_common.c (723): Header[2] [Cache-Control] = [no-cache]
[debug] ajp_unmarshal_response::jk_ajp_common.c (723): Header[3] [Location] = [http://localhost/Accounter/login.jhtml]
[debug] ajp_unmarshal_response::jk_ajp_common.c (723): Header[4] [Content-Type] = [text/html;charset=ISO-8859-1]
[debug] ajp_unmarshal_response::jk_ajp_common.c (723): Header[5] [Content-Length] = [0]
[debug] start_response::jk_isapi_plugin.c (963): Starting response for URI '/Accounter/printFrameSet.jhtml' (protocol HTTP/1.1)
[debug] start_response::jk_isapi_plugin.c (1063): Not using Keep-Alive
[debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1329): received from ajp13 pos=0 len=2 max=8192
[debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1329): 0000     ................

[debug] ajp_process_callback::jk_ajp_common.c (1943): AJP13 protocol: Reuse is OK
[debug] ajp_reset_endpoint::jk_ajp_common.c (757): (Tomcat7A) resetting endpoint with socket 896
[debug] ajp_done::jk_ajp_common.c (3013): recycling connection pool slot=0 for worker Tomcat7A
[debug] HttpExtensionProc::jk_isapi_plugin.c (2211): service() returned OK
[debug] HttpFilterProc::jk_isapi_plugin.c (1851): Filter started
[debug] map_uri_to_worker_ext::jk_uri_worker_map.c (1036): Attempting to map URI '/localhost/Accounter/login.jhtml' from 8 maps
[debug] find_match::jk_uri_worker_map.c (850): Attempting to map context URI '/Accounter/servlet/*=balancer' source 'uriworkermap'
[debug] find_match::jk_uri_worker_map.c (850): Attempting to map context URI '/Accounter/ws/*=balancer' source 'uriworkermap'
[debug] find_match::jk_uri_worker_map.c (850): Attempting to map context URI '/Accounter/nems*.pdf=balancer' source 'uriworkermap'
[debug] find_match::jk_uri_worker_map.c (850): Attempting to map context URI '/Accounter/*.service=balancer' source 'uriworkermap'
[debug] find_match::jk_uri_worker_map.c (850): Attempting to map context URI '/Accounter/*.jhtml=balancer' source 'uriworkermap'
[debug] find_match::jk_uri_worker_map.c (850): Attempting to map context URI '/Accounter/*.json=balancer' source 'uriworkermap'
[debug] find_match::jk_uri_worker_map.c (850): Attempting to map context URI '/jkmanager=status' source 'uriworkermap'
[debug] find_match::jk_uri_worker_map.c (850): Attempting to map context URI '/Accounter/servlet/*=balancer' source 'uriworkermap'
[debug] find_match::jk_uri_worker_map.c (850): Attempting to map context URI '/Accounter/ws/*=balancer' source 'uriworkermap'
[debug] find_match::jk_uri_worker_map.c (850): Attempting to map context URI '/Accounter/nems*.pdf=balancer' source 'uriworkermap'
[debug] find_match::jk_uri_worker_map.c (850): Attempting to map context URI '/Accounter/*.service=balancer' source 'uriworkermap'
[debug] find_match::jk_uri_worker_map.c (850): Attempting to map context URI '/Accounter/*.jhtml=balancer' source 'uriworkermap'
[debug] find_match::jk_uri_worker_map.c (863): Found a wildchar match '/Accounter/*.jhtml=balancer'
[debug] HttpFilterProc::jk_isapi_plugin.c (1938): check if [/Accounter/login.jhtml] points to the web-inf directory
[debug] HttpFilterProc::jk_isapi_plugin.c (1954): [/Accounter/login.jhtml] is a servlet url - should redirect to balancer
[debug] HttpFilterProc::jk_isapi_plugin.c (1994): fowarding escaped URI [/Accounter/login.jhtml]
[debug] init_ws_service::jk_isapi_plugin.c (2982): Reading extension header HTTP_TOMCATWORKER0000000180000000: balancer
[debug] init_ws_service::jk_isapi_plugin.c (2983): Reading extension header HTTP_TOMCATWORKERIDX0000000180000000: 5
[debug] init_ws_service::jk_isapi_plugin.c (2984): Reading extension header HTTP_TOMCATURI0000000180000000: /Accounter/login.jhtml
[debug] init_ws_service::jk_isapi_plugin.c (2985): Reading extension header HTTP_TOMCATQUERY0000000180000000: (null)
[debug] init_ws_service::jk_isapi_plugin.c (3040): Applying service extensions
[debug] init_ws_service::jk_isapi_plugin.c (3298): Service protocol=HTTP/1.1 method=GET host=::1 addr=::1 name=localhost port=80 auth= user= uri=/Accounter/login.jhtml
[debug] init_ws_service::jk_isapi_plugin.c (3310): Service request headers=9 attributes=0 chunked=no content-length=0 available=0
[debug] wc_get_worker_for_name::jk_worker.c (116): found a worker balancer
[debug] HttpExtensionProc::jk_isapi_plugin.c (2188): got a worker for name balancer
[debug] service::jk_lb_worker.c (1118): service sticky_session=1 id='6A2507A4626F698EC74A733CDBA7D9FE.Tomcat7A'
[debug] get_most_suitable_worker::jk_lb_worker.c (946): searching worker for partial sessionid 6A2507A4626F698EC74A733CDBA7D9FE.Tomcat7A
[debug] get_most_suitable_worker::jk_lb_worker.c (954): searching worker for session route Tomcat7A
[debug] get_most_suitable_worker::jk_lb_worker.c (968): found worker Tomcat7A (Tomcat7A) for route Tomcat7A and partial sessionid 6A2507A4626F698EC74A733CDBA7D9FE.Tomcat7A
[debug] service::jk_lb_worker.c (1161): service worker=Tomcat7A route=Tomcat7A
[debug] ajp_get_endpoint::jk_ajp_common.c (3096): acquired connection pool slot=0 after 0 retries
[debug] ajp_marshal_into_msgb::jk_ajp_common.c (605): ajp marshaling done
[debug] ajp_service::jk_ajp_common.c (2379): processing Tomcat7A with 2 retries
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): sending to ajp13 pos=4 len=577 max=8192
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0000     .4.=....HTTP/1.1
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0010     .../Accounter/lo
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0020     gin.jhtml...::1.
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0030     ..::1...localhos
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0040     t..P.......Keep-
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0050     Alive.....0....r
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0060     image/jpeg,.imag
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0070     e/gif,.image/pjp
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0080     eg,.application/
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0090     x-ms-application
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 00a0     ,.application/xa
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 00b0     ml+xml,.applicat
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 00c0     ion/x-ms-xbap,.*
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 00d0     /*...Accept-Enco
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 00e0     ding...gzip,.def
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 00f0     late...Accept-La
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0100     nguage...nb-NO..
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0110     ..]Username=NA_j
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0120     ose.matias_AT_ad
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0130     denergy.no;.JSES
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0140     SIONID=6A2507A46
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0150     26F698EC74A733CD
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0160     BA7D9FE.Tomcat7A
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0170     .....localhost..
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0180     ...http://localh
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0190     ost/Accounter/Ne
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 01a0     msAccounter.jhtm
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 01b0     l....uMozilla/4.
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 01c0     0.(compatible;.M
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 01d0     SIE.8.0;.Windows
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 01f0     Trident/4.0;.SLC
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 01e0     .NT.6.1;.WOW64;.
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0200     C2;..NET.CLR.2.0
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0210     .50727;..NET4.0C
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0220     ;..NET4.0E).....
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0230     .......Tomcat7A.
[debug] ajp_connection_tcp_send_message::jk_ajp_common.c (1145): 0240     ................
[debug] ajp_send_request::jk_ajp_common.c (1621): (Tomcat7A) Statistics about invalid connections: connect check (0), cping (0), send (0)
[debug] ajp_send_request::jk_ajp_common.c (1632): (Tomcat7A) request body to send 0 - request body to resend 0
[debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1329): received from ajp13 pos=0 len=135 max=8192
[debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1329): 0000   .....OK.....Prag
[debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1329): 0010   ma...no-cache...
[debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1329): 0020   Expires...Thu,.0
[debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1329): 0030   1.Jan.1970.00:00
[debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1329): 0040   :00.GMT...Cache-
[debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1329): 0050   Control...no-cac
[debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1329): 0060   he...Cache-Contr
[debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1329): 0070   ol...no-store...
[debug] ajp_connection_tcp_get_message::jk_ajp_common.c (1329): 0080   ..2995..........

答案1

在 Tomcat 端设置一个执行会话复制的集群通常不仅仅涉及编辑 server.xml。通常您必须在 web.xml 中将应用程序标记为“可分发”,并可能执行其他操作。此外,您放入会话中的所有类都必须实现可序列化接口。

最后,请注意 IIS 的 Jakarta ISAPI 插件 - 它是 Apache mod_jk 的一个端口,并且至少在高负载下相当不稳定。我们有一个 7 服务器的 tomcat 集群(峰值为 300 req/sec),最终切换到在前端使用 Linux 上的 nginx 而不是 IIS,因为 ISAPI_redirect.dll 会在高负载下自动停止提供任何服务(错误日志中没有任何内容,perfmon 中也没有其他问题证据)。如果您想保留所有窗口,IIS 7.5 应用程序请求路由插件可能是一个更好的选择。

相关内容