> On 12/01/2023 05:08, Fedor Makarov wrote:
>>
>> lundase and vvsguiden webapps used on different domains
>
> My recommendation would be to configure Tomcat for virtual hosting as
> well. [1]
>
> For example, configure the following hosts in the local hosts file:
>
> lundase-local
> vvsguiden-local
>
> Then the httpd redirects become:
>
> RewriteRule ^(.*)$ http://lundase-local:9090/$1 [P]
>
> and
>
> RewriteRule ^(.*)$ http://vvsguiden-local:9090/$1 [P]
                                       ^^^^^^^^^^^^^^^
That's a typo and meant to be 9091?

>
> respectively.
>
> And in Tomcat you have:
>
> <Engine name="Catalina" defaultHost="lundase-local">
>      <Host name="lundase-local"   appBase="webapps-lundase"/>
>      <Host name="vvsguiden-local" appBase="webapps-vvsguiden"/>
> </Engine>
>
> With appropriate ROOT.war files (and any additional web applications)
> deployed in the appropriate webapps-... directory.
>
> If you don't want to go the virtual hosting route, you could have
> multiple Tomcat instances on different ports or multiple <Service>
> elements in one instance e.g.
>
> <Server .../>
>    ...
>    <Service name="lundase">
>      <Connector port="9090" .../>
>      <Engine name="lundase" defaultHost="localhost">
>        ...
>      </Engine>
>    </Service>
>    <Service name="vvsguiden">
>      <Connector port="9091" .../>
>      <Engine name="vvsguiden" defaultHost="localhost">
>        ...
>      </Engine>
>    </Service>
> </Server>
>
> Although I do think the virtual hosting approach is the simplest - and
> it maps neatly to the httpd configuration.
>
> Mark
>
> [1] https://tomcat.apache.org/tomcat-9.0-doc/virtual-hosting-howto.html
>
>
>>
>> <VirtualHost *:80>
>> <------>ServerName new.vvsguiden-dev.gridnine.com
>> <------>ServerAlias localhost
>> <------>ServerAdmin webmaster@localhost
>> <------>DocumentRoot /var/www/html
>>
>> <------>RewriteEngine on
>>
>> <------>ProxyPreserveHost on
>>
>>          <Directory "/site-binary-data/fb">
>>              Order allow,deny
>>              Allow from all
>>              Require all granted
>>          </Directory>
>>
>>          # static content
>>          RewriteRule ^/fb/(.*)$ /site-binary-data/fb/$1 [L]
>>
>> <------>RewriteRule     ^/vvsguidenapi/(.*)$                            
>>        http://localhost:9090/vvsguidenapi/$1 [NC,P,L]
>> <------>RewriteRule     ^(.*)$                                        
>> http://localhost:9090/vvsguiden/$1 [NC,P,L]
>> <------>
>>
>> <VirtualHost *:443>
>> <------>ServerName m.new.lundagrossisten-dev.gridnine.com
>> <------>ServerAdmin webmaster@localhost
>>
>> <------><LocationMatch "^/lundaprogrammet/.*">
>>> Вторник, 10 января 2023, 11:41 +03:00 от Mark Thomas
>>> <ma...@apache.org>:
>>>
>>> On 10/01/2023 04:37, Fedor Makarov wrote:
>>>>
>>>> Also I tried to write a filter to manually redirect, but tomcat
>>>> intercepts the request before it gets into the filter. Can I disable
>>>> this behavior for tomcat and do it manually?
>>>
>>> That isn't the way to solve this problem. The problem is in the reverse
>>> proxy configuration and that is where you need to fix it.
>>>
>>> You previously provided the following set of rules:
>>>
>>> RewriteCond %{REQUEST_URI} ^(/api/|/mapi/|/binary/|/rpc/invoker/)
>>>
>>> RewriteRule ^/rpc/invoker/(.*)$ http://localhost:9090/rpc/invoker/$1
>>> [NC,P,L]
>>> RewriteRule ^/api/(.*)$ http://localhost:9090/api/$1 [NC,P,L]
>>> RewriteRule ^/mapi/(.*)$ http://localhost:9090/mapi/$1 [NC,P,L]
>>> RewriteRule ^(.*)$ http://localhost:9090/lundase/$1 [NC,P,L]
>>>
>>> I'll note that the RewriteCond appears to be unnecessary.
>>>
>>> I'll further note that the NC flag appears to be unnecessary. As is the
>>> L flag (P implies L).
>>>
>>> We can help you fix these rules but when we tried you mentioned
>>> "vvsguiden" but that does not appear in the rewrite rules.
>>>
>>>
>>> mod_rewrite isn't necessarily the best way to configure a reverse proxy
>>> but if that is what you are familiar with, we can work with it. What we
>>> do need, regardless of how the reverse proxy is configured, is a
>>> complete list of the mappings you want to implement.
>>>
>>> To re-iterate Chris's earlier point, trying to change the context path
>>> for an application in a reverse proxy is asking for trouble. It is far
>>> better to reconfigure the contexts in Tomcat so the reverse proxy
>>> doesn't need to change the URI path.
>>>
>>> Based on the paths above, you need to redeploy lundase.war as ROOT.war
>>> and then the rewrite rules become:
>>>
>>> RewriteRule ^(.*)$ http://localhost:9090/$1 [P]
>>>
>>> We need more details for "vvsguiden" to figure out why the above won't
>>> work.
>>>
>>> Mark
>>>
>>>
>>>>
>>>>
>>>>> Понедельник, 9 января 2023, 11:43 +03:00 от Fedor Makarov <
>>>>> ary...@mail.ru.invalid >:
>>>>>
>>>>>
>>>>>
>>>>> We have to webapps lundase and vvsguiden therefore, the options you
>>>>> have suggested do not look applicable on debug I saw that RequestURI
>>>>> in request looks like lundase/lundase/...
>>>>>
>>>>>> Вторник, 27 декабря 2022, 22:06 +03:00 от Christopher Schultz <
>>>>>> ch...@christopherschultz.net >:
>>>>>>
>>>>>> Fedor,
>>>>>>
>>>>>> On 12/27/22 05:55, Fedor Makarov wrote:
>>>>>>>
>>>>>>> proxy for local environment we use the js conf:
>>>>>>> proxy: {
>>>>>>>      '/api/': {
>>>>>>>        target: 'http://localhost:8080/',
>>>>>>>        changeOrigin: false,
>>>>>>>      },
>>>>>>>      '/': {
>>>>>>>        target: 'http://localhost:8080/lundase',
>>>>>>>        changeOrigin: false
>>>>>>>      }
>>>>>>>    },
>>>>>>>
>>>>>>> for normal lunch we use apache2.conf:
>>>>>>>
>>>>>>> RewriteCond %{REQUEST_URI} ^(/api/|/mapi/|/binary/|/rpc/invoker/)
>>>>>>>
>>>>>>> RewriteRule ^/rpc/invoker/(.*)$
>>>>>>> http://localhost:9090/rpc/invoker/$1 [NC,P,L]
>>>>>>> RewriteRule ^/api/(.*)$ http://localhost:9090/api/$1 [NC,P,L]
>>>>>>> RewriteRule ^/mapi/(.*)$ http://localhost:9090/mapi/$1 [NC,P,L]
>>>>>>> RewriteRule ^(.*)$ http://localhost:9090/lundase/$1 [NC,P,L]
>>>>>>
>>>>>> What you are doing is trying to remove the context-path of the
>>>>>> application through URL re-writing which will probably cause endless
>>>>>> problems during the life of your application.
>>>>>>
>>>>>> I have two possible suggestions for you:
>>>>>>
>>>>>> 1. Re-name your application from lundase to ROOT (to deploy it to /
>>>>>> instead of /lundase).
>>>>>>
>>>>>> or
>>>>>>
>>>>>> 2. Don't try to remove the /lundase URL prefix as part of your URL
>>>>>> rewriting.
>>>>>>
>>>>>> If you don't choose one or the other of these options, you will find
>>>>>> that you have many years of debugging and trying to fix up every
>>>>>> little
>>>>>> weird thing that happens with cookies, redirects, and in-page links.
>>>>>>
>>>>>> -chris
>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail:  users-unsubscr...@tomcat.apache.org
>>>>>> For additional commands, e-mail:  users-h...@tomcat.apache.org
>>>>>
>>>>> ---
>>>>> Fedor Makarov
>>>>>
>>>>
>>>>
>>>> ---
>>>> Fedor Makarov
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail:  users-unsubscr...@tomcat.apache.org
>>> For additional commands, e-mail:  users-h...@tomcat.apache.org
>>
>>
>> ---
>> Fedor Makarov
>>
>
> ---------------------------------------------------------------------
> 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

Reply via email to