-
Notifications
You must be signed in to change notification settings - Fork 12
Configuração do Nginx na Máquina Virtual
Este documento também está disponível em Inglês
A primeira coisa a ser feita é criar os diretórios que serão utilizados
mkdir data
cd data
mkdir nginx
Acesse https://www.gandi.net/en
- Crie o domínio, na seção de domain, utilizando o IP externo da máquina
Em seguida crie o arquivo de configuração do nginx dentro do diretório /nginx/data/nginx
e substitua example.org pelo seu nome de domínio o IP/porta do servidor e o projectname pelo nome do seu projeto
upstream projectname {
server 10.0.0.10:8000;
}
server {
listen 80;
server_name example.org;
location / {
return 301 https://$host$request_uri;
}
location /.well-known/acme-challenge/ {
root /var/www/certbot;
}
}
server {
listen 443 ssl;
server_name example.org;
location / {
proxy_pass http://projectname;
}
ssl_certificate /etc/letsencrypt/live/example.org/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.org/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}
Primeiramente crie um arquivo chamado docker-compose.yml
no diretório ~/nginx
Em seguida adicione as configurações do arquivo:
version: '3'
services:
nginx:
image: nginx:1.15-alpine
ports:
- "80:80"
- "443:443"
volumes:
- ./data/nginx:/etc/nginx/conf.d
- ./data/certbot/conf:/etc/letsencrypt
- ./data/certbot/www:/var/www/certbot
# command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'"
certbot:
image: certbot/certbot
volumes:
- ./data/certbot/conf:/etc/letsencrypt
- ./data/certbot/www:/var/www/certbot
# entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'"
Crie um arquivo chamado init-letsencrypt.sh
no diretório ~/nginx
Adicione no arquivo o conteúdo abaixo para geração de certificado.
Link para acesso ao script a ser adicionado
E altere o domínio para o domínio referente ao que foi criado no Gandi
Execute o comando abaixo para tornar o arquivo criado executável:
chmod a+x init-letsencrypt.sh
Execute o script para gerar o certificado
./init-letsencrypt.sh
Para verificar informações sobre registros de DNS de um determinado domínio, host ou IP utilize o comando abaixo, trocando pelo seu domínio
nslookup example.org
O resultado deve ser algo desse tipo
Server: 0.0.0.0
Address: 0.0.0.0#53
Non-authoritative answer:
Name: example.org
Address: 192.168.0.0 ```
### 4.0 Executando Projeto
Execute o projeto por meio do comando
``sudo docker-compose up --build -d``
Abra o navegador e insira seu domínio
Você deve ser redirecionado para a página da aplicação