The main problem is that when I try to GET http://10.8.0.01/mongo/ I'm redirected to http://10.8.0.1/app/login/ (the express-app is doing this) which gives me a 404 error since my Apache has nothing to serve at /.
Isso é esperado por causa de como você o configurou. Isso é mencionado na postagem que você mencionou:
But there's a problem: links in the HTML coming back from Tomcat will have a URL base of /, not /dev etc. To add the prefix back into the HTML, you'll have to use mod_proxy_html or an equivalent to parse the HTML, modify it, and put it back together. That can work, but there's a performance cost; ill-formed HTML can get mangled; you'll have to rewrite URLs in CSS and Javascript too; and the Javascript may be impossible to get right.
Portanto, quando você faz uma solicitação ao / mongo, ele está sendo enviado para o aplicativo como /
, o que significa que todos os retornos estão retornando como /
, portanto, o redirecionamento começará com /
em vez de /mongo/...
Conforme indicado na postagem vinculada, verifique os documentos ou use subdomínios.
Dependendo do seu caso de uso real, você pode usar o seguinte:
<LocationMatch ^/custom>
ProxyPass http://localhost:8080/
ProxyPassReverse http://localhost:8080/
</LocationMatch>
<LocationMatch ^/mongo>
ProxyPass http://localhost:8081/
ProxyPassReverse http://localhost:8081/
</LocationMatch>