Nevermind: Issue reeds zelf opgelost
Update: toch niet helemaal
Ik heb een XAMP setup draaien op mijn Windows 10 servertje.
Ik had altijd een gratis redirect naar mijn IP via blaat.crabdance.com (fictief), maar ik heb onlangs ook blaat.nl aangeschaft en doorgestuurd naar mijn IP.
Het gaat om een vrij oude XAMP installatie, met MySQL en Apache 2.4. Omdat er nu net ook een website op draait, die tijdelijk is, maar wel even redelijk belangrijk, kan ik nu nog even niet upgraden naar een meer recente versie, ook omdat daar dan MariaDB bij zit. En ja, ik weet dat ik hiermee een risico loop, maar dat neem ik voor nu even voor lief.
Dan nu het probleem:
Ik een service draaien, die werkt op poort 1234 (ook fictief)
Op blaat.nl heb ik een lets-encrypt certificaat, maar die service werkt daar niet mee, en adviseert een reverse proxy in te stellen.
Ik nu dus wil graag een reverse proxy die blaat.nl/service doorstuurt naar localhost:1234
Ik heb dat nu bijna voor elkaar met de volgende code, die onderaan mijn httpd.conf staat.
Dit werkt nu bijna, het enige probleem is dat hij het alleen doet als ik een / achter de url typ. Zonder dat, kapt hij het /service deel er af.
Voorbeeld.
Als je naar localhost:1234 gaat, zie je het volgende in je url-balk: localhost:1234/login/login.php
Als je naar blaat.nl/service/ gaat, komt daar het volgende: blaat.nl/service/login/login.php
Als je echter naar blaat.nl/service gaat, krijg je: blaat.nl/login/login.php
Hij laat het service/ deel weg dus, en uiteraard werkt het dan niet.
Ik scharrel dit ook maar van Google bij elkaar, maar ik ga er vanuit dat die RewriteRule dat zou moeten voorkomen. Echter werkt die blijkbaar niet.
Hoe los ik dit nu op?
Nevermind, al opgelost door de URL Rewriting pagina van Apache iets beter te bekijken..
Update:
Ik heb meerdere van deze services, en aangezien het werkte, dacht ik dat het wel voor allemaal zou werken.
Helaas is dat niet het geval.
Het resultaat is echter nogal verschillend
Voor de ene serivce werkt het,
Voor de andere krijg ik de situatie zoals beschreven, waarbij de service/ verdwijnt
Voor een derde blijft de folder wel staan, maar blijft de pagina leeg
Ik snap het niet meer..
Kan iemand me op weg helpen met een universele oplossing, of moet ik gewoon echt eerst updaten?
Inmiddels zit ik op mijn werk, dus kan ik niet helemaal meer zeggen hoe het nu geconfigureerd is.
Het komt neer op het volgende.
In httpd.conf heb ik tussen de <virtualhost> tags een rewrite condition toegevoegd die werkt bij https op blaat.nl en daaronder voor elke service een rule zoals hierboven.
Verder heb ik daar per service ook zo'n folder verwijzing gezet
Hetzelfde heb ik gedaan in de config met de ssl gegevens
Update: toch niet helemaal
Ik heb een XAMP setup draaien op mijn Windows 10 servertje.
Ik had altijd een gratis redirect naar mijn IP via blaat.crabdance.com (fictief), maar ik heb onlangs ook blaat.nl aangeschaft en doorgestuurd naar mijn IP.
Het gaat om een vrij oude XAMP installatie, met MySQL en Apache 2.4. Omdat er nu net ook een website op draait, die tijdelijk is, maar wel even redelijk belangrijk, kan ik nu nog even niet upgraden naar een meer recente versie, ook omdat daar dan MariaDB bij zit. En ja, ik weet dat ik hiermee een risico loop, maar dat neem ik voor nu even voor lief.
Dan nu het probleem:
Ik een service draaien, die werkt op poort 1234 (ook fictief)
Op blaat.nl heb ik een lets-encrypt certificaat, maar die service werkt daar niet mee, en adviseert een reverse proxy in te stellen.
Ik nu dus wil graag een reverse proxy die blaat.nl/service doorstuurt naar localhost:1234
Ik heb dat nu bijna voor elkaar met de volgende code, die onderaan mijn httpd.conf staat.
code:
1
2
3
4
5
6
7
| <Location /service> ProxyPass http://localhost:1234 ProxyPassReverse http://localhost:1234 SetOutputFilter proxy-html ProxyHTMLURLMap http://localhost:1234 </Location> RewriteRule ^/service$ /service/ [R] |
Dit werkt nu bijna, het enige probleem is dat hij het alleen doet als ik een / achter de url typ. Zonder dat, kapt hij het /service deel er af.
Voorbeeld.
Als je naar localhost:1234 gaat, zie je het volgende in je url-balk: localhost:1234/login/login.php
Als je naar blaat.nl/service/ gaat, komt daar het volgende: blaat.nl/service/login/login.php
Als je echter naar blaat.nl/service gaat, krijg je: blaat.nl/login/login.php
Hij laat het service/ deel weg dus, en uiteraard werkt het dan niet.
Ik scharrel dit ook maar van Google bij elkaar, maar ik ga er vanuit dat die RewriteRule dat zou moeten voorkomen. Echter werkt die blijkbaar niet.
Hoe los ik dit nu op?
Nevermind, al opgelost door de URL Rewriting pagina van Apache iets beter te bekijken..
Update:
Ik heb meerdere van deze services, en aangezien het werkte, dacht ik dat het wel voor allemaal zou werken.
Helaas is dat niet het geval.
Het resultaat is echter nogal verschillend
Voor de ene serivce werkt het,
Voor de andere krijg ik de situatie zoals beschreven, waarbij de service/ verdwijnt
Voor een derde blijft de folder wel staan, maar blijft de pagina leeg
Ik snap het niet meer..
Kan iemand me op weg helpen met een universele oplossing, of moet ik gewoon echt eerst updaten?
Inmiddels zit ik op mijn werk, dus kan ik niet helemaal meer zeggen hoe het nu geconfigureerd is.
Het komt neer op het volgende.
In httpd.conf heb ik tussen de <virtualhost> tags een rewrite condition toegevoegd die werkt bij https op blaat.nl en daaronder voor elke service een rule zoals hierboven.
Verder heb ik daar per service ook zo'n folder verwijzing gezet
Hetzelfde heb ik gedaan in de config met de ssl gegevens
[ Voor 20% gewijzigd door TheFes op 14-09-2017 10:54 ]