Hi Chris, Could you please explain, what you exactly mean ? So here redirect is not a solution right ?
"You'd have to use a glob/regex if you wanted to check for [anything and maybe nothing.]example.com." Thanks, ammu On Fri, Apr 19, 2024 at 3:03 PM Christopher Schultz < ch...@christopherschultz.net> wrote: > Ammu, > > On 4/19/24 08:32, lavanya tech wrote: > > Thank you very much. I removed <Host> for example.com as well as adding > an > > <Alias> in server.xml > > I copied context.xml file > > /git/app/apache-tomcat-10.1.11/webapps/towl/META-INF/context.xml > > Removed < in rewrite.config files. > > > > But still I dont redirect the URL. > > If you have <Context> in server.xml and also your application in the > webapps/ directory, then you will be double-deploying your application. > > Re-name /git/app/apache-tomcat-10.1.11/webapps/towl/ to be > /git/app/apache-tomcat-10.1.11/webapps/ROOT (the capitals are important) > and remove the <Context> element from your server.xml. > > Then start your server and read the logs. > > > *nslookup alias.example.com <http://alias.example.com> > > gives-->Non-authoritative answer:Name: www.example.com > > <http://www.example.com>Address: 192.168.200.10Aliases: > alias.example.com > > <http://alias.example.com>* > > > > > > Just to give some information here, *www.example.com > > <http://www.example.com>* has alias* "alias.example.com > > <http://alias.example.com>"* > > But https://www.example.com:7777/example --> works fine with out issues > but > > the alias doesnot works (https://alias.example.com) > > So i am not sure if the redirect url helps or if its correct > > Your rewrite configuration says that you have to be using host > "example.com" but your request goes to www.example.com. Your > configuration should only redirect a request such as: > > $ curl -v http://example.com:7777/something > > HTTP/1.1 301 Moved Permanently > ... > Location: https://www.example.com:7777/example > > If you make a request like: > > $ curl -v http://www.example.com:7777/something > > I wouldn't expect a redirect because of your "host" condition. The > "%{HTTP_HOST} example.com" looks at the entire Host header and not just > anything that ends in "example.com". You'd have to use a glob/regex if > you wanted to check for [anything and maybe nothing.]example.com. > > You'd also have to make sure that your application is serving responses > to requests to / which is why I'm recommending you use the ROOT web > application name instead of "towl". > > -chris > > > On Fri, Apr 19, 2024 at 1:21 PM Christopher Schultz < > > ch...@christopherschultz.net> wrote: > > > >> Ammu, > >> > >> On 4/18/24 09:34, lavanya tech wrote: > >>> I am attaching server.xml and context.xml and rewrite.config files. > >>> The paths are > >>> > >>> /git/app/apache-tomcat-10.1.11/webapps/towl/context.xml > >>> <Context> > >>> <Valve > className="org.apache.catalina.valves.rewrite.RewriteValve" > >> /> > >>> <!-- Other context configuration --> > >>> </Context> > >> > >> This file ^^^ is in the wrong place. It should be in > >> /git/app/apache-tomcat-10.1.11/webapps/towl/META-INF/context.xml > >> > >>> /git/app/apache-tomcat-10.1.11/webapps/towl/WEB-INF/rewrite.config > >>> > >>> <RewriteCond %{HTTP_HOST} example.com [NC] > >>> <RewriteRule ^/(.*)$ https://www.example.com:7777/example [R=301,L] > >> > >> Why do you have < symbols at the beginning of these lines? > >> > >>> server.xml > >>> > >> > [...] > >>> > >>> <Host name="example.com" appBase="webapps" unpackWARs="true" > >>> autoDeploy="true"> > >>> <Context path="" docBase="towl" /> > >> > >> It's best not to define any <Context> in server.xml. I would remove this > >> <Context> entirely and allow Tomcat to auto-reploy from your > >> webapps/towl directory. If you need this application to be deployed as > >> the ROOT context (on / and not /towl) then you should re-name > >> /git/app/apache-tomcat-10.1.11/webapps/towl to > >> /git/app/apache-tomcat-10.1.11/webapps/ROOT > >> > >> You also don't need a <Host> for example.com as well as adding an > >> <Alias> for the same domain (though this is probably to anonymize the > >> configuration). You can feel free to simply use the "localhost" <Host> > >> as the default <Host> and deploy everything into it. This makes your > >> configuration changes relative to a stock Tomcat less significant and > >> easier to apply to new versions if/when necessary. > >> > >> -chris > >> > >>> On Thu, Apr 18, 2024 at 2:17 PM Christopher Schultz < > >>> ch...@christopherschultz.net> wrote: > >>> > >>>> Ammu, > >>>> > >>>> On 4/18/24 07:45, lavanya tech wrote: > >>>>> I added classname rewrite valeus in contex.xml file . > >>>>> > >>>>> <!-- REWRITE VALVE --> > >>>>> <Valve > >> className="org.apache.catalina.valves.rewrite.RewriteValve" > >>>> /> > >>>>> <!-- // --> > >>>>> > >>>>> created rewrite.config so both of them is located under conf under > >>>>> apache-tomcat. > >>>>> > >>>>> > >>>>> <RewriteCond %{HTTP_HOST} example.com [NC] > >>>>> <RewriteRule ^/(.*)$ > >>>>> https://www.example.com:7777/example [R=301,L] > >>>>> > >>>>> So according to the documentaion they say context.xml should be > placed > >>>>> under webapps and rewrite.config file should be put in WEB-INF folder > >> of > >>>>> apache-tomcat . I placed and restarted tomcat webserver but still it > >>>>> doesnot redirect. > >>>> > >>>> Can you give full paths to both server.xml and rewrite.config, re-post > >>>> your current server.xml <Context> element, and the complete contents > of > >>>> rewrite.config? > >>>> > >>>> Have you looked at the log files after start? > >>>> > >>>> -chris > >>>> > >>>>> On Thu, Apr 18, 2024 at 1:36 PM lavanya tech < > lavanyatech...@gmail.com > >>> > >>>>> wrote: > >>>>> > >>>>>> Hi Thomas, > >>>>>> > >>>>>> Thanks for the fast response. > >>>>>> > >>>>>> I added classname rewrite valeus in contex.xml file . > >>>>>> > >>>>>> <!-- REWRITE VALVE --> > >>>>>> <Valve > >> className="org.apache.catalina.valves.rewrite.RewriteValve" > >>>> /> > >>>>>> <!-- // --> > >>>>>> > >>>>>> created rewrite.config so both of them is located under conf under > >>>>>> apache-tomcat. > >>>>>> > >>>>>> So according to the documentaion they say context.xml should be > placed > >>>>>> under webapps and rewrite.config file should be put in WEB-INF > folder > >> of > >>>>>> apache-tomcat > >>>>>> > >>>>>> Thnks, > >>>>>> Ammu > >>>>>> > >>>>>> > >>>>>> > >>>>>> On Thu, Apr 18, 2024 at 1:22 PM Mark Thomas <ma...@apache.org> > wrote: > >>>>>> > >>>>>>> On 18/04/2024 12:05, lavanya tech wrote: > >>>>>>>> Hi Team, > >>>>>>>> > >>>>>>>> I am using "Tomcat 10.1" in our environment and I wanted to > redirect > >>>> url > >>>>>>>> from https://example.com to https://www.servercom:7777 and for > >> this i > >>>>>>>> modified the server.xml as below in tomcat config, and the below > >>>>>>>> configuration doesnot seems to work. Does anyone has ideas. Please > >>>>>>> suggest. > >>>>>>>> The url alone https://www.servercom:7777/ already works. But just > >>>>>>>> redirection from the old to one doesnot. > >>>>>>>> > >>>>>>>> <Host name="example.com" appBase="app" unpackWARs="true" > >>>>>>> autoDeploy="true"> > >>>>>>>> <Context path="" docBase="example" /> > >>>>>>>> <Alias>example.com</Alias> > >>>>>>>> <!-- Add RewriteValve and RewriteRule here --> > >>>>>>>> <Valve > >>>>>>> className="org.apache.catalina.valves.rewrite.RewriteValve"/> > >>>>>>>> <Engine name="Catalina" defaultHost="localhost"> > >>>>>>>> <Host name="example.com" appBase="app" > unpackWARs="true" > >>>>>>>> autoDeploy="true"> > >>>>>>>> <Context path="" docBase="example" /> > >>>>>>>> <Alias>example.com</Alias> > >>>>>>>> <Valve > >>>>>>> className="org.apache.catalina.valves.rewrite.RewriteValve"/> > >>>>>>>> <Engine name="Catalina" defaultHost="localhost"> > >>>>>>>> <Host name="example.com" appBase="app" > >>>>>>>> unpackWARs="true" autoDeploy="true"> > >>>>>>>> <Context path="" docBase="example" /> > >>>>>>>> <Alias>example.com</Alias> > >>>>>>>> <!-- Rewrite rule to redirect to > >>>>>>>> www.servercom:8080/example --> > >>>>>>>> <RewriteCond %{HTTP_HOST} example\.com > [NC] > >>>>>>>> <RewriteRule ^/(.*)$ > >>>>>>>> https://www.servercom:7777/example/$1 [R=301,L] > >>>>>>> > >>>>>>> 1. That isn't valid XML. > >>>>>>> > >>>>>>> 2. Where in the Tomcat docs does it say you can nest re-write rules > >> in > >>>> a > >>>>>>> Host element (or any other element)? > >>>>>>> > >>>>>>>> </Host> > >>>>>>>> </Engine> > >>>>>>>> </Host> > >>>>>>>> </Engine> > >>>>>>>> </Host> > >>>>>>> > >>>>>>> You need to configure the RewriteValve. > >>>>>>> https://tomcat.apache.org/tomcat-10.1-doc/rewrite.html > >>>>>>> > >>>>>>> Mark > >>>>>>> > >>>>>>> > --------------------------------------------------------------------- > >>>>>>> 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 > >>>> > >>>> > >>> > >> > >> --------------------------------------------------------------------- > >> 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 > >