Re: TomCat, Reverse Proxy & Business Objects...
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Filip Hanik - Dev Lists wrote: > proxyName is only for the Host name, which can also be accomplished by > adding > ProxyPreserveHost On > in apache, and hence be able to support more than just one URL. So > remove proxyName from the connector and added the above statement to > your httpd config Hi, Thanks for your reply :) ProxyPreserveHost On is in the httpd config, and it does preserve URL rewrites where the URL is recognisable as such to Apache. The problem occurs when the TomCat instance completely rewrites the URL by looking at things like the hostname of the server it's running on and passing that in as part of the data (e.g. a link embedded in a dynamically generated web page.) It's these types of links that Apache cannot possibly discover or rewrite. > > in terms of what you are doing, that's a bit more tricky. > since you are doing URL rewriting, there is no way for Tomcat to know > that it needs to prepend "/customername/" to the URLs. > > do you have ProxyPassReverse in your httpd config? that should take care > of Response headers, as for HTML itself, > you need to probably create a valve or filter that adds the customer > name into the HttpServletRequest methods through a wrapper This sounds like exactly what I need to do. Can you point me in the right direction regarding how I might do this? One TomCat instance will always be for one customer, so the customername can be set as a global parameter, in, e.g. the server.xml file. I've partially worked around the problem by deploying apps in a /webapps/customername/appname/foo type directory structure under TomCat, but that's a bit of a hack and I suspect there's an easier, more graceful way. Is there? Best regards, -->Gar -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.3 (GNU/Linux) iD8DBQFGVDmDK36C50PvIR8RAr+TAJ9aa6V3YKABcr1aZxGaki8E+i8CPgCfWufS r/EQIxn1BrExyse1ix5csC4= =5eU/ -END PGP SIGNATURE- - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: TomCat, Reverse Proxy & Business Objects...
proxyName is only for the Host name, which can also be accomplished by adding ProxyPreserveHost On in apache, and hence be able to support more than just one URL. So remove proxyName from the connector and added the above statement to your httpd config in terms of what you are doing, that's a bit more tricky. since you are doing URL rewriting, there is no way for Tomcat to know that it needs to prepend "/customername/" to the URLs. do you have ProxyPassReverse in your httpd config? that should take care of Response headers, as for HTML itself, you need to probably create a valve or filter that adds the customer name into the HttpServletRequest methods through a wrapper Filip Gareth Eason wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi, I'm trying to get Business Objects working behind an Apache reverse proxy server. The apache server takes care of converting to and from HTTP <--> HTTPS and provides a nice consistent URL for our clients. From the outside world, https://www.url.com/customername/bo/foo is mapped to http://appserver.vip.internal:port/bo/foo - which is all well and good, except that TomCat on the appserver appears to generate its own URLs which is passes out to the client instead of allowing the reverse proxy layer to rewrite them. I'm using proxyPort="443" and proxyName="www.url.com" in two connector port directives, which does rewrite the hostname correctly - but I cannot seem to get it to add the customername part. Is there another proxy* directive I'm missing? Adding proxyName="www.url.com/customername" doesn't appear to have an effect. Currently, the first hit on the reverse proxy rewrites the URL correctly and hits the TomCat server, but this sends back a response which triggers a request to the reverse proxy written (incorrectly) as https://www.url.com/bo/foo - which fails. (Notice that the customername is missing.) Any help or pointers in the right direction (or at the piece of documentation that I've failed to grok) would be greatly appreciated. Thanks in advance. Best regards, -->Gar -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.3 (GNU/Linux) iD8DBQFGU0BRK36C50PvIR8RArAJAJ9NkfE4rgQpzNEpr4mZKAw5UzCSCgCZAdiO 0qqaPxhtnalORTA8OQZrtQI= =wlEN -END PGP SIGNATURE- - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
TomCat, Reverse Proxy & Business Objects...
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi, I'm trying to get Business Objects working behind an Apache reverse proxy server. The apache server takes care of converting to and from HTTP <--> HTTPS and provides a nice consistent URL for our clients. From the outside world, https://www.url.com/customername/bo/foo is mapped to http://appserver.vip.internal:port/bo/foo - which is all well and good, except that TomCat on the appserver appears to generate its own URLs which is passes out to the client instead of allowing the reverse proxy layer to rewrite them. I'm using proxyPort="443" and proxyName="www.url.com" in two connector port directives, which does rewrite the hostname correctly - but I cannot seem to get it to add the customername part. Is there another proxy* directive I'm missing? Adding proxyName="www.url.com/customername" doesn't appear to have an effect. Currently, the first hit on the reverse proxy rewrites the URL correctly and hits the TomCat server, but this sends back a response which triggers a request to the reverse proxy written (incorrectly) as https://www.url.com/bo/foo - which fails. (Notice that the customername is missing.) Any help or pointers in the right direction (or at the piece of documentation that I've failed to grok) would be greatly appreciated. Thanks in advance. Best regards, -->Gar -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.3 (GNU/Linux) iD8DBQFGU0BRK36C50PvIR8RArAJAJ9NkfE4rgQpzNEpr4mZKAw5UzCSCgCZAdiO 0qqaPxhtnalORTA8OQZrtQI= =wlEN -END PGP SIGNATURE- - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]