> 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