Eu estava estudando em como conseguir rodar um servidor Apache2 com NodeJS em um ambiente HTTPS e consegui alguns resultados, no entanto, acabei empacando em um ponto do qual não estou conseguindo mais avançar(E já tentei uma boa parte de soluções encontradas na internet, mas nenhuma deu certo até agora):
1º – Num Ubuntu 18.04, instalei o Apache2 e configurei de forma que ele conseguisse me mostrar seu html principal;
2º – Fiz uma assinatura SSL usando o OpenSSL no Linux e configurei que ele auto-assinasse diretamente na pasta do Apache2(/etc/ssl/private/key e /etc/ssl/certs/certficate);
3º – Após reiniciar o serviço e depois de instalar alguns módulos do Apache2, instalei o NodeJs junto com NPM pelo NVM para sua versão mais recente(14.15.1.LTS), clonei um repositório do Github com uma API NodeJs Express e instalei suas dependências com npm install e por fim, fiz um banco de dados MySql só para se conectar com a API e os dois pudessem trabalhar, com o NodeJs rodando junto com o PM2.
app.listen(config.PORT, () => {
console.log(`n API rodando no endereço: https://localhost:${config.PORT}`)
})
**A Porta que está sendo trabalhada é a porta 3000;
4º – E por fim configuro o Apache2 para que ele aceite o NodeJs rodando junto com ele, usando Proxy e Proxy reverso, instalando depois os módulos correspondentes. Então o problema começa.
ProxyPass /nodejs https://localhost:3000
**Os arquivos que estão sendo trabalhando são os próprios defaults do Apache2;
Então toda vez que acesso https://meuip/nodejs
, ou eu recebo uma lentidão e no final uma resposta de tempo esgotado, ou me retorna um 404/Not Found, isto dependendo de cada variação que eu faça para tentar corrigir o problema.
Gostaria de saber o que é preciso alterar para que eu possa acessar meu NodeJs rodando dentro do Apache2 num ambiente https sem erro algum, agradeço a atenção!