wils@web ~ $ cat ~/ajuda/como-configurar-um-proxy-reverso-com-nginx-1-22-para-aplicacoes-em-conteineres-docker.md
DevOpsComo configurar um proxy reverso com Nginx 1.22 para aplicações em contêineres Docker
Configurar um proxy reverso com Nginx para aplicações em contêineres Docker pode melhorar a escalabilidade e a segurança das suas aplicações. Neste manual, vamos abordar o passo a passo para realizar essa configuração utilizando o Nginx 1.22.
Pré-requisitos
- Servidor com Linux (Ubuntu, CentOS, etc.)
- Docker e Docker Compose instalados
- Conhecimento básico em Nginx
Passo 1: Instalar o Nginx
Primeiramente, você precisa instalar o Nginx. Execute o seguinte comando:
sudo apt update
sudo apt install nginx
Passo 2: Criar um contêiner Docker
Vamos criar um contêiner simples usando o Docker. Para este exemplo, usaremos uma aplicação Node.js:
mkdir meu_app
cd meu_app
cat > Dockerfile <<EOF
FROM node:14
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
CMD [ "npm", "start" ]
EOF
cat > package.json <<EOF
{
"name": "meu_app",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"start": "node index.js"
},
"dependencies": {
"express": "^4.17.1"
}
}
EOF
cat > index.js <<EOF
const express = require('express');
const app = express();
const PORT = process.env.PORT || 3000;
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(PORT, () => {
console.log(`Server running on port ${PORT}`);
});
EOF
docker build -t meu_app .
docker run -d -p 3000:3000 --name meu_app meu_app
Passo 3: Configurar o Nginx como Proxy Reverso
Agora, vamos configurar o Nginx para redirecionar as requisições para o contêiner Docker:
sudo nano /etc/nginx/sites-available/meu_app
Adicione o seguinte conteúdo:
server {
listen 80;
server_name meu_dominio.com;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
Salve e saia do editor. Em seguida, ative a configuração:
sudo ln -s /etc/nginx/sites-available/meu_app /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
Conclusão
Agora você configurou com sucesso um proxy reverso com Nginx para sua aplicação em contêiner Docker. Lembre-se de substituir meu_dominio.com pelo seu domínio real. Uma dica importante é sempre verificar os logs do Nginx e do Docker para solucionar problemas que possam surgir.
Precisa de ajuda com isso no seu servidor? A gente resolve pra você.
falar no WhatsApp →// deu erro ou não funcionou?
Achou algo errado neste manual?
Conta pra gente o que deu errado ou qual erro apareceu — a gente corrige. Se quiser retorno, deixe seu contato.