Hoe krijg ik een Tomcat 8 Rewrite werkend?

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • FabiandJ
  • Registratie: Oktober 2001
  • Niet online
Hoe krijg ik in Tomcat 8 een URL Rewrite voor elkaar?

Ik heb een rewrite.conf bestand aangemaakt met daarin het volgende:
code:
1
2
RewriteCond %{QUERY_STRING} (?:^|&)WSDL [NC]
RewriteRule .* - [F]

Alle URL's die eindigen met ?WSDL worden geblockt.

Het rewrite.conf bestand heb ik op deze plekken neergezet, ik lees allerlei verschillende opties:
code:
1
2
3
tomcat/conf/
tomcat/conf/Catalina/localhost
tomcat/webapps/app/WEB-INF

Om in Tomcat Rewrite te kunnen gebruiken moet ik het onderstaande ook toevoegen
code:
1
<Valve className="org.apache.catalina.valves.rewrite.RewriteValue"/>

Deze regel heb ik toegevoegd in de volgende bestanden:
code:
1
2
tomcat/conf/context.xml
tomcat/conf/server.xml


De context.xml heeft dit als inhoud:
code:
1
2
3
4
5
<?xml version='1.0' encoding='utf-8'?>
<Context>
  <WatchedResource>WEB-INF/web.xml</WatchedResource>
  <Valve className="org.apache.catalina.valves.rewrite.RewriteValve" />
</Context>

In de server.xml ziet het er zo uit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
  <Context path="" docBase="app" reloadable="false">
    <Valve className="org.apache.catalina.valves.rewrite.RewriteValve" asyncSupported="true"/>
  </Context>

  <Valve className="org.apache.catalina.valves.RemoteIpValve"
    protocolHeader="x-forwarded-proto" />

  <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
   prefix="localhost_access_log" suffix=".txt"
   pattern="%{X-Forwarded-For}i %h %l %u %t &quot;%r&quot; %s %b" 
   resolveHosts="false" />

  <Valve className="org.apache.catalina.valves.ErrorReportValve"
   showReport="false" 
   showServerInfo="false" />
</Host>

Alleen wat ik ook probeer het werkt niet, als ik naar een url ga welke eindigt met ?WSDL krijg ik response terug. Terwijl ik een 403 wil hebben.

[ Voor 38% gewijzigd door FabiandJ op 11-07-2023 14:02 ]

Alle reacties


Acties:
  • 0 Henk 'm!

  • BeyondThunder
  • Registratie: Januari 2004
  • Laatst online: 10:34

BeyondThunder

Lost Lightning

Heb je dit al aan Chat-GPT gevraagd?
Ik merk dat Chat-GPT uitstekend overweg kan met dit soort vragen, soms wat beter specificeren. maar PowerShell, VBscript, HTML, hij kent het allemaal ;-)

Acties:
  • 0 Henk 'm!

  • FabiandJ
  • Registratie: Oktober 2001
  • Niet online
BeyondThunder schreef op dinsdag 11 juli 2023 @ 14:03:
Heb je dit al aan Chat-GPT gevraagd?
Ik merk dat Chat-GPT uitstekend overweg kan met dit soort vragen, soms wat beter specificeren. maar PowerShell, VBscript, HTML, hij kent het allemaal ;-)
Werkt, maar denk dat ik mogelijk zelf een foutje heb gemaakt, telkens de verkeerde url testen (teveel tabs open staan :+)

Heb nu trouwens wel na de redirect dat ik de melding krijg:
ERR_TOO_MANY_REDIRECTS

[ Voor 22% gewijzigd door FabiandJ op 11-07-2023 16:24 ]


Acties:
  • 0 Henk 'm!

  • FabiandJ
  • Registratie: Oktober 2001
  • Niet online
Ik heb nog flink zitten stoeien met de redirect en met Chat-GPT uiteindelijk het resultaat wat ik wilde bereikt.
Nu worden de volgende URL's: https://localhost/app/appnaam/Services?WSDL
Geredirect naar https://localhost/app waarbij localhost variabel is.
code:
1
2
RewriteCond %{QUERY_STRING} ^WSDL$
RewriteRule ^/(.*)$ /app? [R,L=301]

Verder onderstaande in de context.xml gezet:
code:
1
<Valve className="org.apache.catalina.valves.rewrite.RewriteValue"/>

En de rewrite.conf staat in:
code:
1
tomcat/webapps/app/WEB-INF

[ Voor 21% gewijzigd door FabiandJ op 11-07-2023 23:02 ]