
Estou tentando hospedar um aplicativo de nó em www.domain.com/nodeapp. Já tenho o site www.domain.com hospedado no servidor Apache. Eu criei um proxy reverso na configuração do Apache.
ProxyPass /nodeapp http://localhost:3100/nodeapp
ProxyPassReverse /nodeapp http://localhost:3100/nodeapp
Este é o aplicativo MEAN
estrutura de pastas
E abaixo está meu arquivo node app.js onde estou vinculando meu aplicativo angular na pasta dist (que construí usando ng build --prod
)
app.use("/api/posts", postsRoutes);
app.use("/api/user", userRoutes);
app.use("/api/client", clientRoutes);
app.use("/", express.static(path.join(__dirname, "angular")));
app.use((req, res, next) => {
res.sendFile(path.join(__dirname, "angular", "index.html"));
});
module.exports = app;
Quando executo o arquivo node server.js na porta 3000. Somente as cargas index.html e outros arquivos estáticos geram um 404.
Cansei de adicionar um base-href vazio ng build --prod --base href
ao construir o aplicativo angular que carregou o aplicativo com recursos estáticos corretamente, mas quando navego no aplicativo angular www.domain.com/nodeapp/auth/login
diretamente na URL, o caminho do arquivo estático mostra www.domain.com/nodeapp/auth/login/style.css
que está obviamente incorreto. Os links da API, por exemplo, ( http://localhost:3100/api/posts
) não funcionam quando acessados usando proxy reverso.
O que estou fazendo de errado aqui? Existe algum guia de trabalho onde um aplicativo MEAN é hospedado ao lado de um servidor Apache?