Ik ben bezig met het opnieuw opzetten van een ejbca PKI en een onderdeel daarvan wordt een Apache proxy om crt en crl verzoeken door te sturen naar ejbca. Ik krijg echter niet precies wat ik wil met mod_rewrite in combinatie met proxypass.
Ik draai dit allemaal op een Ubuntu 18.04 met Apache 2.4
Dit is mijn configuratie van de virtual host:
Echter wat er mis gaat is dat de rewrite var/www/html/crt/ voor de certificaatnaam plakt, zie hier in de log files (en dan specifiek de laatste regel):
Ik dacht dat ik simpel de reguliere expressie kon veranderen van "^(.*)$" naar "^/crt/(.*)$" maar dat werkt helaas niet (de redirect gaat dan helemaal mis). Dat is wel wat de handleiding volgens mij voorstelt. Daarom begrijp ik het niet.
Ik heb ook nog gekeken naar de logregel waar "add path info postfix" staat. Op internet kom ik tegen dat dat probleem opgelost kan worden door de DPI flag, maar ook daarmee blijft het probleem persisteren.
Heeft iemand een idee?
Ik draai dit allemaal op een Ubuntu 18.04 met Apache 2.4
Dit is mijn configuratie van de virtual host:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
| <VirtualHost crt.vanleuverden.nl:80> <Proxy "*"> Order deny,allow Allow from all </Proxy> <Location "/"> RewriteEngine on RewriteBase "/crt/" RewriteRule "^(.*)$" "http://127.0.0.1:8080/ejbca/publicweb/webdist/certdist?cmd=cacert&issuer=CN\%3D$1\%2COU\%3DVanLeuverden+Security\%2CO\%3DVanLeuverden\%2CC\%3DNL&level=0" [P] ProxyPassReverse "http://127.0.0.1:8080/" </Location> LogLevel alert rewrite:trace6 </VirtualHost> |
Echter wat er mis gaat is dat de rewrite var/www/html/crt/ voor de certificaatnaam plakt, zie hier in de log files (en dan specifiek de laatste regel):
code:
1
2
3
4
5
6
7
8
9
10
| [crt.vanleuverden.nl/sid#7f4ecc8914a8][rid#7f4ecc8090a0/initial] init rewrite engine with requested uri /crt/VanLeuverden+Network+CA+G5 [crt.vanleuverden.nl/sid#7f4ecc8914a8][rid#7f4ecc8090a0/initial] pass through /crt/VanLeuverden+Network+CA+G5 [crt.vanleuverden.nl/sid#7f4ecc8914a8][rid#7f4ecc8090a0/initial] [perdir /] add path info postfix: /var/www/html/crt -> /var/www/html/crt/VanLeuverden+Network+CA+G5 [crt.vanleuverden.nl/sid#7f4ecc8914a8][rid#7f4ecc8090a0/initial] [perdir /] strip per-dir prefix: /var/www/html/crt/VanLeuverden+Network+CA+G5 -> var/www/html/crt/VanLeuverden+Network+CA+G5 [crt.vanleuverden.nl/sid#7f4ecc8914a8][rid#7f4ecc8090a0/initial] [perdir /] applying pattern '^(.*)$' to uri 'var/www/html/crt/VanLeuverden+Network+CA+G5' [crt.vanleuverden.nl/sid#7f4ecc8914a8][rid#7f4ecc8090a0/initial] [perdir /] rewrite 'var/www/html/crt/VanLeuverden+Network+CA+G5' -> 'http://127.0.0.1:8080/ejbca/publicweb/webdist/certdist?cmd=cacert&issuer=CN%3Dvar/www/html/crt/VanLeuverden+Network+CA+G5%2COU%3DVanLeuverden+Security%2CO%3DVanLeuverden%2CC%3DNL&level=0' [crt.vanleuverden.nl/sid#7f4ecc8914a8][rid#7f4ecc8090a0/initial] split uri=http://127.0.0.1:8080/ejbca/publicweb/webdist/certdist?cmd=cacert&issuer=CN%3Dvar/www/html/crt/VanLeuverden+Network+CA+G5%2COU%3DVanLeuverden+Security%2CO%3DVanLeuverden%2CC%3DNL&level=0 -> uri=http://127.0.0.1:8080/ejbca/publicweb/webdist/certdist, args=cmd=cacert&issuer=CN%3Dvar/www/html/crt/VanLeuverden+Network+CA+G5%2COU%3DVanLeuverden+Security%2CO%3DVanLeuverden%2CC%3DNL&level=0 [crt.vanleuverden.nl/sid#7f4ecc8914a8][rid#7f4ecc8090a0/initial] [perdir /] escaped URI in per-dir context for proxy, http://127.0.0.1:8080/ejbca/publicweb/webdist/certdist -> http://127.0.0.1:8080/ejbca/publicweb/webdist/certdist [crt.vanleuverden.nl/sid#7f4ecc8914a8][rid#7f4ecc8090a0/initial] [perdir /] forcing proxy-throughput with http://127.0.0.1:8080/ejbca/publicweb/webdist/certdist [crt.vanleuverden.nl/sid#7f4ecc8914a8][rid#7f4ecc8090a0/initial] [perdir /] go-ahead with proxy request proxy:http://127.0.0.1:8080/ejbca/publicweb/webdist/certdist?cmd=cacert&issuer=CN%3Dvar/www/html/crt/VanLeuverden+Network+CA+G5%2COU%3DVanLeuverden+Security%2CO%3DVanLeuverden%2CC%3DNL&level=0 [OK] |
Ik dacht dat ik simpel de reguliere expressie kon veranderen van "^(.*)$" naar "^/crt/(.*)$" maar dat werkt helaas niet (de redirect gaat dan helemaal mis). Dat is wel wat de handleiding volgens mij voorstelt. Daarom begrijp ik het niet.
Ik heb ook nog gekeken naar de logregel waar "add path info postfix" staat. Op internet kom ik tegen dat dat probleem opgelost kan worden door de DPI flag, maar ook daarmee blijft het probleem persisteren.
Heeft iemand een idee?