Estou preparando que http://example.com/styles/4742a4e8.main.css
é realmente um arquivo no aplicativo JS de nó, portanto, refere-se a http://localhost:8080/styles/4742a4e8.main.css
, mas está sendo referência no index.html do aplicativo do nó como /styles/4742a4e8.main.css
Com o proxy mapeando o que está acontecendo é quando você solicita
http://example.foo/foo/
está enviando uma solicitação que está retornando http://localhost:8080/index.html
como está. Quaisquer referências dentro de index.html não são modificadas, então quando o navegador requisitar componenets ele está solicitando http://example.com/styles/4742a4e8.main.css
, mas o arquivo só é realmente acessível via http://example.com/foo/styles/4742a4e8.main.css
se / styles / não for usado em example.com, você poderá adicionar
ProxyPass /styles http://localhost:8080/styles
ProxypassReverse /styles http://localhost:8080/styles
Mas isso pode se tornar complicado se você tiver muitos diretórios.
Outra abordagem seria usar caminhos relativos em seu aplicativo de nó. Então, em vez de index.html referenciando /styles/4742a4e8.main.css
, referenciou styles/4742a4e8.main.css
(sem barra). Isso pode se tornar complicado com caminhos aninhados em seu aplicativo de nó.
Uma solução adicional pode ser modificar o aplicativo node.js para que seja totalmente executado em localhost: / foo, para que o mapeamento de diretório seja o mesmo.
Não tenho certeza se alguma dessas soluções é ideal para o seu caso de uso, mas espero que você aponte na direção certa.