-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Marc,

On 10/20/16 11:34 AM, Marc Chamberlin wrote:
> On 10/20/2016 3:19 AM, André Warnier (tomcat) wrote:
>> On 20.10.2016 01:58, Christopher Schultz wrote:
>>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
>>> 
>>> Marc,
>>> 
>>> On 10/18/16 7:59 PM, Marc Chamberlin wrote:
>>>> On 10/17/2016 10:36 AM, Rainer Jung wrote:
>>>>> 
>>>>> Alias maps URIs to local file system directories. JkMount
>>>>> maps URIs to remote back end requests.
>>>>> 
>>>>> You can not change JkMount forwarding using Alias (except
>>>>> that if you have a comflict between Alias and JkMount only
>>>>> one of them wins).
>>>>> 
>>>>> As far as I understand you are not really trying to map
>>>>> requests to the local web server file system, but instead
>>>>> want to forward to a Tomcat back end but change the URI
>>>>> path which is used when accessing Apache to something else
>>>>> being used to acces Tomcat. E.g. the URI
>>>>> /jsp-examples/something gets used when accessing Apache and
>>>>> mod_jk should send this request as /examples/jsp/something
>>>>> to the Tomcat back end.
>>>>> 
>>>>> If you really need to change URIs, then often mod_proxy is
>>>>> much easier to set up, because it has specific directives
>>>>> for this (ProxyPass etc.).
>>>>> 
>>>>> With mod_jk you would first need to use mod_rewrite
>>>>> RewriteRules to change the URI, and then JkMount to forward
>>>>> them. More details can be found at
>>>>> 
>>>>> http://tomcat.apache.org/connectors-doc/common_howto/proxy.html#UR
L%2
>>>
>>>>> 
0Rewriting
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>> The rest of this docs page might be useful as well.
>>>>> 
>>>>> Regards,
>>>>> 
>>>>> Rainer
>>>>> 
>>>> Thanks a million Rainer, you got me over that hump! I have
>>>> it working now but have another question - When the response
>>>> is generated for a request, that used the alias in the URL,
>>>> is there a way to keep the client browser from displaying
>>>> what the alias got mapped to?
>>>> 
>>>> So for example, if I use the alias in the URL - 
>>>> http://www.mydomain.com/jsp-examples  that I send to the
>>>> Apache server, and it in turn forwards that request to Tomcat
>>>> as http://www.mydomain.com/examples/jsp, I would prefer that
>>>> the response, sent back to the user, contains the original,
>>>> aliased or unaliased, version of the URL that he/she typed,
>>>> and not just the resolved version. As it stands I am always
>>>> getting the response URL of
>>>> http://www.mydomain.com/examples/jsp displayed in the client 
>>>> browser.
>>>> 
>>>> What follows is my current version of the config file that I
>>>> am using for the jsp-examples. Seems to be working mostly OK,
>>>> so hopefully I am on the right track. FYI - I intend to
>>>> include these config files in various virtual hosts
>>>> configurations each of which have their own document root,
>>>> hence the reason for the Alias commands at the beginning of
>>>> this config file.
>>>> 
>>>> Thanks again in advance for any and all offers of help,
>>>> thoughts, and replies...
>>> 
>>> Your best bet is to name the context in Tomcat to be whatever
>>> you really want the URL path to be. This will remove all kinds
>>> of problems you are likely to see in the future because of your
>>> decision to try to rewrite URLs.
>>> 
>>> I never understand why people would rather spend a great deal
>>> of time configuring around the fact that this simple command
>>> will get everything working without any other issues:
>>> 
>>> $ mv webapps/name-you-have webapps/name-you-want
>>> 
>> +10 Because once you start playing with Aliases and RewriteRules,
>> you are setting yourself up for a lot of future additional
>> complications in terms of Redirects, Authentication, etc.. most
>> of which you cannot even imagine right now.
>> 
> Thanks Christopher, Andre for your comments and I will certainly
> take them under consideration. If I were working in a simple
> environment where all I had to do was to focus on Tomcat and Apache
> I would certainly agree with you. Your simplistic solution of
> renaming directories would indeed be the correct choice.
> 
> The problem is, is that the real world is not quite so
> accommodating. I am trying to support a team of users who are using
> other third party applications and also using cross-sectional tools
> that require multiple resources/directories in the Tomcat/Apache
> web directories, that all need to be coordinated. Some of this can
> be solved with directory renaming or links, but in some cases it
> becomes a question of whether the dog is wagging the tail or the
> tail is wagging the dog in terms of the amount of work involved to
> solve a problem; such as a simple Tomcat/Apache alone related
> answer (directory renaming) implies. So I am exploring the choices
> I have within the Tomcat/Apache tool space in order to determine
> what choice is best. If indeed the tools available within Tomcat
> and Apache are so odious to use, then yes I will also have to
> explore the option of changing other tools, software, and 
> configurations in order to accommodate Tomcat and Apache.

It's not a question of whether of not the tools are odious, it's the
fact that a highly-complicated environment is going to require
highly-complicated configuration. I'm suggesting that you simplify
things. You will quickly find that you will need to start re-writing
entire pages of content to fix-up link URLs and stuff like that.
mod_proxy will only auto-rewrite headers such as Location (for
redirects) and Set-Cookie; it will not fix all of the links that the
web application produces.

At the point that you start re-writing entire pages of content as they
traverse your reverse-proxy is when you know you are really fighting
against a Better Way of doing things.

Are you suggesting that your environment is so complex that it is not
possible to change the name of a single file/directory (possibly
amongst a cluster of servers, of course)? The alternative is miles of
configuration that probably will always have some kind of problem with
it because you have missed an edge case.

> My understanding of Tomcat and Apache is that they are supposedly
> robust enterprise grade tools, designed to work in complex
> environments. So my hope is that issues like this have been already
> addressed with elegant solutions. ;-)

The elegant solution is to re-name your application to the
context-path you want to use, rather than using a mountain of band-aids.

This is not a problem unique to Tomcat and/or Apache httpd. You'll
find this same problem with every other reverse proxy / servlet
container combination that I know of.

> FYI I am using the jsp and servlet examples here as just a simple
> model of what I want to accomplish. I could really care less about
> those particular web applications.

Understood.

- -chris
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBCAAGBQJYCO97AAoJEBzwKT+lPKRYspcP/j58DLdp/kELZYOhY80mqhb4
POyuogOBb/sUmpMES3PBbctx/CaPoFo4p8DO3Z2kRc5z13lpznfIMs32vDadPFrf
6STMzOQY8FnxC6o8Rf/wBxRCtk4OI0u359o2+y0nbmc7iOHoaLXUx9Ms/WzlNz6z
UNxBrJh1c3e5qSsdnJMOKAWnUv0jNqT1dol9jqLjtgzUtGKVcayPTObQxajAPMcf
H13qrk722obLwRPhTdV/Gm9JrzJ0Vw167zfirDT754rLYpTs2DNgw2Zl76TQiVut
R4RRZD2Wn+1pfYakhSGDN5cECuirXXKIHPHcZmpLsfneuoXw7AWgnlLBSjRLLKp9
/WTmzYVme5Le9I5+mK6qT0xI7kJ+SDAIDLI2WwKbyZzhEG51tMe5NkWNmwwsGTZ6
5bOWNz2ROx8l4qIlmHT0EGmftM+bXs+xNtUxMkeZHYmolvkv/9D5fyDOoO4zI8CS
C2YJy13VPmu31Dqa8cOyVyCJw6J3ZUiO/Dyh0dqmkFMMsJfxyCuRwYG2uDzovBdw
dDh5+EVYhhYXqCkzV3S5bzrClbsXgZIYNrWwau3oOm/QelbYoqQ6ul9JPuCQ7dA7
NopwZDOYEE0TaGRP8riNw8ziN5d1X2zGEdoNnXuSte8MLylu8FFctgtBGQoVjhZi
/PqoEOUCUv583Qbob5v0
=QGpl
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to