RE: [COMMERCIAL] Re: [COMMERCIAL] Re: Need Help: - jk doesn't work after upgrade to1.2.40 from 1.2.23
Andre, Martin, Finally I got the problem fixed after further debugging and code reading, I need to add "JkMountCopy All" in mod_jk.conf, no need any other change on the old release configuration. Thanks for your help. Best Regards, Eric. -Original Message- From: ZHAO Eric Sent: Wednesday, March 16, 2016 1:32 PM To: Tomcat Users List; a...@ice-sa.com; 'knobis...@gmail.com' Subject: RE: [COMMERCIAL] Re: [COMMERCIAL] Re: Need Help: - jk doesn't work after upgrade to1.2.40 from 1.2.23 Andre, Martin, Thanks for your reply: Answer to your previous question: 1). since the loadbalance haven't been triggered, so I think we can ignore it now. 2). You are right "missing uri map" is a debug information, but in the above code I pasted, it will return DECLINED, which is actually an error case. 3). the hostname doesn’t match with the configuration file, since I modified some conf, so I tried to copy the original one used on 1.2.32. sorry for the confusion. 4). I don't know ajp12, it's not triggered yet in my testing. I attached the configuration files in my lab, this setting worked if using mod_jk 1.2.23 release. If I replace the mod_jk.so with the version 1.2.40, then it failed to open the page /sso/lsm/lsm.jnlp ( I got "Not Found The requested URL /sso/lsm/lsm.jnlp was not found on this server."). I opened the debug of mod_jk, I noticed it added into some uri work map and also it can be dumped into jk.log: [Wed Mar 16 12:47:17.965 2016] [12184:139831250073568] [debug] uri_worker_map_add::jk_uri_worker_map.c (863): exact rule '/sso=csajboss' source 'JkMount' was added [Wed Mar 16 12:47:17.965 2016] [12184:139831250073568] [debug] uri_worker_map_add::jk_uri_worker_map.c (854): wildchar rule '/sso/*=csajboss' source 'JkMount' was added ... [Wed Mar 16 12:47:17.974 2016] [12185:139831250073568] [debug] uri_worker_map_dump::jk_uri_worker_map.c (197): NEXT (1) map #10: uri=/sso/* worker=csajboss context=/sso/* source=JkMount type=Wildchar len=6 [Wed Mar 16 12:47:17.974 2016] [12185:139831250073568] [debug] uri_worker_map_dump::jk_uri_worker_map.c (197): NEXT (1) map #20: uri=/sso worker=csajboss context=/sso source=JkMount type=Exact len=4 But later when I tried to open the sso/lsm/lsm.jnlp, it should match the wildchar /sso/* uri map. But it was failed, from the code, it's failed in mod_jk.c jk_translate method() The conf->wu_map was null(don't know why ??), if (!conf->uw_map) { if (JK_IS_DEBUG_LEVEL(conf->log)) jk_log(conf->log, JK_LOG_DEBUG, "missing uri map for %s:%s", conf->s->server_hostname ? conf->s->server_hostname : "_default_", r->uri); return DECLINED; } else { rule_extension_t *e; worker = map_uri_to_worker_ext(conf->uw_map, r->uri, NULL, , NULL, conf->log); rconf->rule_extensions = e; ap_set_module_config(r->request_config, _module, rconf); } Do I need to change some configuration after upgrade to 1.2.40? Thanks, Eric. -Original Message- From: André Warnier (tomcat) [mailto:a...@ice-sa.com] Sent: Monday, March 14, 2016 7:50 PM To: Tomcat Users List Subject: [COMMERCIAL] Re: [COMMERCIAL] Re: Need Help: - jk doesn't work after upgrade to1.2.40 from 1.2.23 Hi Eric. A couple of things : 1) Martin is right, in the sense that if a "worker" is mentioned in the loadbalancer configuration ("balance_workers"), then normally you should /not/ also list it in the list of individual "workers" in the "worker.list" directive. 2) I am not even sure that you really have a problem : the logfile part that you are showing, shows "[debug]" lines with the "Missing URI map.." messages. These are not errors (otherwise they would be marked "[error]"), they are trace messages allowing you to figure out what is going on when debugging a problem. A "missing URI map" just indicates that mod_jk is trying to match the URI of the current request with one of the "JkMount" URI's, and failing *for the worker which it is now trying to match*. That does not necessarily mean that it will fail to match this URI with some other worker. 3) the debug messages show a prefix like "IBM001OAM01:". What does that correspond to ? I do not see this name in the JkMount directives that you show, nor in the part of workers.properties that you show. 4) I am a bit puzzled by this section : >>> worker.ajp12.port=8007 >>> worker.ajp12.host=localhost >>> worker.ajp12.type=ajp12 What is this type "ajp12" ? As far as I know, this does not exist, see http://tomcat.apache.org/
RE: [COMMERCIAL] Re: [COMMERCIAL] Re: Need Help: - jk doesn't work after upgrade to1.2.40 from 1.2.23
Andre, Martin, Thanks for your reply: Answer to your previous question: 1). since the loadbalance haven't been triggered, so I think we can ignore it now. 2). You are right "missing uri map" is a debug information, but in the above code I pasted, it will return DECLINED, which is actually an error case. 3). the hostname doesn’t match with the configuration file, since I modified some conf, so I tried to copy the original one used on 1.2.32. sorry for the confusion. 4). I don't know ajp12, it's not triggered yet in my testing. I attached the configuration files in my lab, this setting worked if using mod_jk 1.2.23 release. If I replace the mod_jk.so with the version 1.2.40, then it failed to open the page /sso/lsm/lsm.jnlp ( I got "Not Found The requested URL /sso/lsm/lsm.jnlp was not found on this server."). I opened the debug of mod_jk, I noticed it added into some uri work map and also it can be dumped into jk.log: [Wed Mar 16 12:47:17.965 2016] [12184:139831250073568] [debug] uri_worker_map_add::jk_uri_worker_map.c (863): exact rule '/sso=csajboss' source 'JkMount' was added [Wed Mar 16 12:47:17.965 2016] [12184:139831250073568] [debug] uri_worker_map_add::jk_uri_worker_map.c (854): wildchar rule '/sso/*=csajboss' source 'JkMount' was added ... [Wed Mar 16 12:47:17.974 2016] [12185:139831250073568] [debug] uri_worker_map_dump::jk_uri_worker_map.c (197): NEXT (1) map #10: uri=/sso/* worker=csajboss context=/sso/* source=JkMount type=Wildchar len=6 [Wed Mar 16 12:47:17.974 2016] [12185:139831250073568] [debug] uri_worker_map_dump::jk_uri_worker_map.c (197): NEXT (1) map #20: uri=/sso worker=csajboss context=/sso source=JkMount type=Exact len=4 But later when I tried to open the sso/lsm/lsm.jnlp, it should match the wildchar /sso/* uri map. But it was failed, from the code, it's failed in mod_jk.c jk_translate method() The conf->wu_map was null(don't know why ??), if (!conf->uw_map) { if (JK_IS_DEBUG_LEVEL(conf->log)) jk_log(conf->log, JK_LOG_DEBUG, "missing uri map for %s:%s", conf->s->server_hostname ? conf->s->server_hostname : "_default_", r->uri); return DECLINED; } else { rule_extension_t *e; worker = map_uri_to_worker_ext(conf->uw_map, r->uri, NULL, , NULL, conf->log); rconf->rule_extensions = e; ap_set_module_config(r->request_config, _module, rconf); } Do I need to change some configuration after upgrade to 1.2.40? Thanks, Eric. -Original Message- From: André Warnier (tomcat) [mailto:a...@ice-sa.com] Sent: Monday, March 14, 2016 7:50 PM To: Tomcat Users List Subject: [COMMERCIAL] Re: [COMMERCIAL] Re: Need Help: - jk doesn't work after upgrade to1.2.40 from 1.2.23 Hi Eric. A couple of things : 1) Martin is right, in the sense that if a "worker" is mentioned in the loadbalancer configuration ("balance_workers"), then normally you should /not/ also list it in the list of individual "workers" in the "worker.list" directive. 2) I am not even sure that you really have a problem : the logfile part that you are showing, shows "[debug]" lines with the "Missing URI map.." messages. These are not errors (otherwise they would be marked "[error]"), they are trace messages allowing you to figure out what is going on when debugging a problem. A "missing URI map" just indicates that mod_jk is trying to match the URI of the current request with one of the "JkMount" URI's, and failing *for the worker which it is now trying to match*. That does not necessarily mean that it will fail to match this URI with some other worker. 3) the debug messages show a prefix like "IBM001OAM01:". What does that correspond to ? I do not see this name in the JkMount directives that you show, nor in the part of workers.properties that you show. 4) I am a bit puzzled by this section : >>> worker.ajp12.port=8007 >>> worker.ajp12.host=localhost >>> worker.ajp12.type=ajp12 What is this type "ajp12" ? As far as I know, this does not exist, see http://tomcat.apache.org/connectors-doc/reference/workers.html Mandatory Directives -> type And finally, do you have a problem, and what is it ? What really happens when you try to access a URI like "http://(hostname)/sso/lsm/lsm.jnlp" ? And could you provide a *complete* list of your (Jk*) configuration directives, and a complete content of the workers.properties file ? And maybe a short description as to what you are trying to achieve. From what you provided so far, it is not very clear which URI's you want to "load-balance" and which not. The fact that "it worked before" is no guarantee that what you had before was entirely correct. On 14.03.2016 11:47, Martin Knoblauch wrote: > Hi Eric, > > there are two things different from *my*