我在同一台计算机上运行了两个 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 "%r" %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 应用程序请求路由插件可能是一个更好的选择。