On 22 Dec 2010, at 23:02, Jeffrey Janner <jeffrey.jan...@polydyne.com> wrote:
> Definitely the culprit. Now, I just have to convince the Dev team that they > are, once again, a bunch of idiots. Fail. > I'm sure it's some framework/tool they are using. The question now is, if I > can't get them to not use it in this case, is there some way to modify httpd > to strip the ;jsessionid stuff, or pass it on to the Tomcat server if it's > there? Mod_rewrite in HTTPD p > That is, ignore the local feed if there is a sticky session id embedded in > the URL? > > Jeff > >> -----Original Message----- >> From: Jeffrey Janner [mailto:jeffrey.jan...@polydyne.com] >> Sent: Wednesday, December 22, 2010 4:50 PM >> To: 'Tomcat Users List' >> Subject: RE: httpd/Tomcat load balancing question >> >> In the specific case I mention below, this is the source from the jsp: >> <link rel="icon" type="image/x-icon" href="<c:url >> value="/static/images/icons/favicon.ico"/>" /> >> >> I'm not a jsp programmer, but I'm betting it has something to do with >> the <c:url /> encapsulation. >> Jeff >> >>> -----Original Message----- >>> From: Jeffrey Janner [mailto:jeffrey.jan...@polydyne.com] >>> Sent: Wednesday, December 22, 2010 4:40 PM >>> To: 'Tomcat Users List'; 'Tomcat Users List' >>> Subject: RE: httpd/Tomcat load balancing question >>> >>> Thanks, that was what I was thinking. >>> Since the only JSP I have access to is the welcome-file, I'm not sure >> I >>> can verify. >>> >>> Q: I would think the getContextPath would be desirable, in case we >>> change the war-file name, etc., but I wouldn't think that would cause >>> the jsessionID string to get appended to the end of the path. That >> is, >>> they are coming out as >>> >> "/Portal/static/images/icons/favicon.ico;jsessionid=B4E3E4AA3D79B8877A0 >>> 9CFCC32827D09.tomcat1". >>> >>> Jeff >>> >>>> -----Original Message----- >>>> From: André Warnier [mailto:a...@ice-sa.com] >>>> Sent: Wednesday, December 22, 2010 2:43 PM >>>> To: Tomcat Users List >>>> Subject: Re: httpd/Tomcat load balancing question >>>> >>>> Hi. >>>> >>>> Not knowing anything about JSP per se, I would nevertheless guess >>> that >>>> the links are >>>> written using something like >>>> <img src="<%getContextPath%>/static/mylogo.jpg"/> or similarly, >>> instead >>>> of just plain html >>>> <img src="/Portal/static/mylogo.jpg"/>. >>>> That probably leads the JSP compiler to think it has to >> "relativise" >>>> the links to the app >>>> context and so on, while in this case it should not, because they >>> will >>>> be served by the >>>> front-end, not by Tomcat. >>>> >>>> >>>> >>>> Jeffrey Janner wrote: >>>>> Httpd 2.2.17 >>>>> Tomcat 6.0.29 >>>>> Sun JDK 1.6.0_22 >>>>> Spring Framework (3.0.2 I think) >>>>> All on Windows >>>>> >>>>> The Dev team is creating a new app that we are planning to deploy >>>> using httpd as a load-balancer to two Tomcats on separate servers. >>>> Httpd is configured to serve static files - graphics, css, etc. - >>> with >>>> everything else being sent to the Tomcat servers over AJP. The >>> Tomcat >>>> app has one jsp file setup as the welcome-file, which just does a >>>> redirect to host/app/login, which is an internal action that >>> generates >>>> the real login screen. All other parts of the app are buried in >> the >>>> WEB-INF/classes structure (as far as I can tell). >>>>> >>>>> We are currently testing the setup, and if you go to >>>> http://prtltest.polydyne.com, everything seems to work just fine. >>> The >>>> browser gets redirected to >> http://prtltest.polydyne.com/Portal/login >>>> and the screen looks fine. The problem is if you go directly to >> the >>>> login page, bypassing the welcome-file redirect, then you don't get >>> the >>>> static files. If you refresh the page, everything shows up again. >>>>> >>>>> Looking at the source of the login page, it appears that all the >>>> static links have the jsessionid appended to them on the first >> load, >>>> but not on subsequent loads. I assume this is because Tomcat >> hasn't >>>> determined cookie support yet when it generates the page the first >>>> time, but does know about it on the refresh. My question is, is >>> there >>>> something the Dev team should be doing before generating the login >>>> page, or generating the static links, or is there a configuration >>>> setting I'm missing in the httpd.conf file? Or perhaps in the >>> web.xml? >>>>> >>>>> Jeff >>>>> >>>>> The httpd.conf file is pretty stock, with the following added for >>> the >>>> load-balancer configuration: >>>>> >>>>> <Location /balancer-manager> >>>>> SetHandler balancer-manager >>>>> >>>>> Order Deny,Allow >>>>> Deny from all >>>>> Allow from 10.1.1 127.0.0.1 >>>>> </Location> >>>>> >>>>> <Proxy balancer://mycluster> >>>>> BalancerMember ajp://prtltest01:8009/Portal >>>> route=tomcat1 loadfactor=50 >>>>> BalancerMember ajp://prtltest02:8009/Portal >>>> route=tomcat2 loadfactor=50 >>>>> </Proxy> >>>>> >>>>> ProxyPass /Portal/static ! >>>>> ProxyPass /Portal balancer://mycluster >>>> stickysession=JSESSIONID|jsessionid scolonpathdelim=On >>>>> ProxyPass / balancer://mycluster/ >>> stickysession=JSESSIONID|jsessionid >>>> scolonpathdelim=On >>>>> >>>>> The web.xml file is: >>>>> >>>>> <?xml version="1.0" encoding="UTF-8"?> >>>>> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" >>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>>> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee >>>> http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> >>>>> <display-name>Polydyne Portal Application</display-name> >>>>> <!-- Log4J Config --> >>>>> <context-param> >>>>> <param-name>log4jConfigLocation</param-name> >>>>> <param-value>/WEB-INF/log4j.properties</param-value> >>>>> </context-param> >>>>> <listener> >>>>> <listener- >>>> class>org.springframework.web.util.Log4jConfigListener</listener- >>> class> >>>>> </listener> >>>>> <context-param> >>>>> <param-name>contextConfigLocation</param-name> >>>>> <param-value> >>>>> /WEB-INF/Portal-service.xml >>>>> /WEB-INF/Portal-security.xml >>>>> </param-value> >>>>> </context-param> >>>>> <listener> >>>>> <listener- >>>> >>> >> class>org.springframework.web.context.ContextLoaderListener</listener- >>>> class> >>>>> </listener> >>>>> >>>>> <!-- Concurrent Session Control --> >>>>> <listener> >>>>> <listener- >>>> >>> >> class>org.springframework.security.web.session.HttpSessionEventPublishe >>>> r</listener-class> >>>>> </listener> >>>>> >>>>> <!-- Reads request input using UTF-8 encoding --> >>>>> <filter> >>>>> <filter-name>characterEncodingFilter</filter-name> >>>>> <filter- >>>> >> class>org.springframework.web.filter.CharacterEncodingFilter</filter- >>>> class> >>>>> <init-param> >>>>> <param-name>encoding</param-name> >>>>> <param-value>UTF-8</param-value> >>>>> </init-param> >>>>> <init-param> >>>>> <param-name>forceEncoding</param-name> >>>>> <param-value>true</param-value> >>>>> </init-param> >>>>> </filter> >>>>> <filter-mapping> >>>>> <filter-name>characterEncodingFilter</filter-name> >>>>> <url-pattern>/*</url-pattern> >>>>> </filter-mapping> >>>>> >>>>> <!-- Spring Security settings start --> >>>>> <filter> >>>>> <filter-name>springSecurityFilterChain</filter-name> >>>>> <filter- >>>> class>org.springframework.web.filter.DelegatingFilterProxy</filter- >>>> class> >>>>> </filter> >>>>> <filter-mapping> >>>>> <filter-name>springSecurityFilterChain</filter-name> >>>>> <url-pattern>/*</url-pattern> >>>>> </filter-mapping> >>>>> <!-- Spring Security settings end --> >>>>> <!-- Servlet Definition --> >>>>> <!-- >>>>> - Map static resources to the default servlet >>>>> - examples: >>>>> - http://localhost:8080/static/images/pets.png >>>>> - http://localhost:8080/static/styles/petclinic.css >>>>> --> >>>>> <servlet-mapping> >>>>> <servlet-name>default</servlet-name> >>>>> <url-pattern>/static/*</url-pattern> >>>>> </servlet-mapping> >>>>> >>>>> <servlet> >>>>> <servlet-name>Portal</servlet-name> >>>>> <servlet- >>>> class>org.springframework.web.servlet.DispatcherServlet</servlet- >>> class> >>>>> <load-on-startup>2</load-on-startup> >>>>> </servlet> >>>>> <servlet-mapping> >>>>> <servlet-name>Portal</servlet-name> >>>>> <url-pattern>/</url-pattern> >>>>> </servlet-mapping> >>>>> <!-- Servlet Definition End --> >>>>> <session-config> >>>>> <session-timeout> >>>>> 30 >>>>> </session-timeout> >>>>> </session-config> >>>>> <welcome-file-list> >>>>> <welcome-file>redirect.jsp</welcome-file> >>>>> </welcome-file-list> >>>>> <error-page> >>>>> <exception- >>>> type>javax.servlet.UnavailableException</exception-type> >>>>> <location>/WEB- >> INF/views/errors/Unavailable.html</location> >>>>> </error-page> >>>>> <error-page> >>>>> <exception-type>503</exception-type> >>>>> <location>/WEB- >> INF/views/errors/Unavailable.html</location> >>>>> </error-page> >>>>> </web-app> >>>>> >>>> >>> >> _______________________________________________________________________ >>>> ___ >>>>> >>>>> Confidentiality Notice: This Transmission (including any >>>> attachments) may contain information that is privileged, >>> confidential, >>>> and exempt from disclosure under applicable law. If the reader of >>> this >>>> message is not the intended recipient you are hereby notified that >>> any >>>> dissemination, distribution, or copying of this communication is >>>> strictly prohibited. >>>>> >>>>> If you have received this transmission in error, please >> immediately >>>> reply to the sender or telephone (512) 343-9100 and delete this >>>> transmission from your system. >>>>> >>>> >>>> >>>> ------------------------------------------------------------------- >> -- >>>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org >>>> For additional commands, e-mail: users-h...@tomcat.apache.org >>>> >>> >>> >> _______________________________________________________________________ >>> ___ >>> >>> Confidentiality Notice: This Transmission (including any >> attachments) >>> may contain information that is privileged, confidential, and exempt >>> from disclosure under applicable law. If the reader of this message >> is >>> not the intended recipient you are hereby notified that any >>> dissemination, distribution, or copying of this communication is >>> strictly prohibited. >>> >>> If you have received this transmission in error, please immediately >>> reply to the sender or telephone (512) 343-9100 and delete this >>> transmission from your system. >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org >>> For additional commands, e-mail: users-h...@tomcat.apache.org >>> >> >> _______________________________________________________________________ >> ___ >> >> Confidentiality Notice: This Transmission (including any attachments) >> may contain information that is privileged, confidential, and exempt >> from disclosure under applicable law. If the reader of this message is >> not the intended recipient you are hereby notified that any >> dissemination, distribution, or copying of this communication is >> strictly prohibited. >> >> If you have received this transmission in error, please immediately >> reply to the sender or telephone (512) 343-9100 and delete this >> transmission from your system. >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org >> For additional commands, e-mail: users-h...@tomcat.apache.org >> > > __________________________________________________________________________ > > Confidentiality Notice: This Transmission (including any attachments) may > contain information that is privileged, confidential, and exempt from > disclosure under applicable law. If the reader of this message is not the > intended recipient you are hereby notified that any dissemination, > distribution, or copying of this communication is strictly prohibited. > > If you have received this transmission in error, please immediately reply to > the sender or telephone (512) 343-9100 and delete this transmission from your > system. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org