Olá, bom dia, espero que estejam todos bem!
Recentemente estou preparando um servidor VPS para rodar minhas aplicações e estou quase lá, mas falta um pouco. Vou explicar um pouco sobre como fiz o processo de deploy para elucidar miha dúvida.
Como mencionei estou utilizando um servidor VPS para hospedar o site e decidi disponibilizar a solução em containers docker com a ferramenta docker-compose. Como sempre no localhost tudo funciona perfeitamente, frontend se conecta com o backend por meio de requisções Axios e backend conversa com o banco de dados. Todos eles estão dentro de uma mesma rede de internet do docker.
O problema é que quando eu fui subir a aplicação para o servidor VPS o frontend não consegue se conectar com o backend. Tudo me levou a crer que a baseUrl que eu inseri nas requisições para o axios está errada.
Já tentei ("http://localhost:porta") tentei também ("http://ip-container-backend:porta") onde a porta corresponde a porta do backend.
Para as configurações do servidor nginx que estou utilizando apliquei os seguintes diretivas.
upstream frontend {
server frontend:3000;
}
upstream backend {
server backend:8000;
}
server {
listen 80;
listen [::]:80;
location / {
proxy_pass http://frontend;
}
location /backend {
rewrite /backend/(.*) /$1 break; # não sei exatamente se essa linha é essencial para o meu caso
proxy_pass http://backend;
}
server_name localhost;
}
Caso eu precise fornecer mais alguma informação estou à disposição. Obrigado!
Obs: frontend e backend são os nomes dos serviços discriminados no arquivo docker-compose.yml.