Apache regex voodoo

Pagina: 1
Acties:

  • Confusion
  • Registratie: April 2001
  • Laatst online: 01-03-2024

Confusion

Fallen from grace

Topicstarter
Hoewel de vraag misschien uitloopt op: "je regex deugt niet", post ik hem hier, want ik vermoed dat er misschien een oplossing is door slimme configuratie.

Ik heb een machine met 1 IP adres, waarop onder andere bugzilla en cvsweb draaien. De webserver is apache 2.2 en de config bestaat uit name-based virtualhosts. Er kan slechts 1 SSL virtualhost zijn (aangezien die IP gebaseerd moet zijn) en dat levert een probleem op:

Ik wil dat requests naar https://my-domain.com/ doorgestuurd worden naar Tomcat (want een deel van de root webapplicatie die daar op draait moet SSL beveiligd zijn), behalve requests naar https://my-domain.com/bugzilla, https://my-domain.com/cvsweb en nog wat andere varianten.

Mijn pogingen waren diverse varianten op:
code:
1
2
3
4
5
6
7
8
9
10
11
<VirtualHost <my-ip>:443>

       [snipped SSL stuff]
       [snipped logging stuff]
       [snipped mod-jk properties]

        <Location ~ "/(?!(cvsweb|bugzilla)).*">
                JkMount         dev
        </Location>

</VirtualHost>


Maar dit resulteert altijd in een situatie waarin alles naar Tomcat wordt doorgestuurd. Iemand een idee hoe het wel moet?

De Apache docs geven als voorbeeld: <LocationMatch "/(extra|special)/data">, maar ik heb daar dus een negatieve versie van nodig.

[ Voor 5% gewijzigd door Confusion op 18-07-2007 13:52 ]

Wie trösten wir uns, die Mörder aller Mörder?


Verwijderd

Volgens mij moet je het zoeken in iets als ^/?(?<!cvsweb).+$

Verder is dit inderdaad wel een vervelend soort probleem.

  • Confusion
  • Registratie: April 2001
  • Laatst online: 01-03-2024

Confusion

Fallen from grace

Topicstarter
Alle varianten met negative lookback die ik heb geprobeerd werken niet in een LocationMatch element, terwijl dezelfde dingen wel werken in Perl. Ze gebruiken PCRE sinds Apache 2.0, maar als je het mij vraagt voeren ze PCRE niet altijd de goede data...

Wie trösten wir uns, die Mörder aller Mörder?


  • Confusion
  • Registratie: April 2001
  • Laatst online: 01-03-2024

Confusion

Fallen from grace

Topicstarter
Kick.

Is er iemand die kan bevestigen dat negative lookback zou moeten werken in een Location element?

Wie trösten wir uns, die Mörder aller Mörder?


  • Confusion
  • Registratie: April 2001
  • Laatst online: 01-03-2024

Confusion

Fallen from grace

Topicstarter
Right, het sleutelwoord blijkt (toch) te zijn: JkUnMount.

Met bijvoorbeeld
code:
1
JkUnMount    /images/*   worker-name

sluit je alles dat met /images begint uit van de JkMount directive. Location element regexen werken niet... don't ask me why.

Wie trösten wir uns, die Mörder aller Mörder?