Hostwinds Tutoriais
Resultados da busca por:
Índice
Tag: Cloud Servers, SSL, VPS
Nginx é uma ferramenta poderosa. Ele permite que você sirva vários aplicativos, sites, aplicativos balanceados por carga e muito mais. Essa flexibilidade é alimentada por um sistema de configuração relativamente simples que usa arquivos de configuração quase-legíveis. Este guia demonstrará como configurar um proxy reverso NGINX com SSL em um Hostwinds Cloud VPS.
Este guia assumirá uma compreensão geral de usar um sistema baseado em Linux via linha de comando e assumirá ainda mais os seguintes pré-requisitos:
O pacote Nginx-full padroniza para um ambiente de Host Virtual Compartilhado dinâmico. Os arquivos de configuração de cada Host Virtual estão disponíveis para uso aqui:
/etc/nginx/sites-available/
Este local terá um arquivo chamado padrão Disponível para usar como modelo base. No entanto, criaremos manualmente um novo arquivo de configuração neste guia e preenchê-lo conforme necessário. Uma vez logado como usuário não raiz, emite este comando para iniciar o processo:
sudo touch /etc/nginx/sites-available/domain.tld
Certifique-se de substituir Domínio-TLD. com o domínio que você está realmente usando.
Em seguida, passamos para modificar esse arquivo para executar as tarefas que precisamos. Nós estaremos usando vim neste guia como editor de texto. Você pode usar nano ou qualquer outro editor de texto baseado em sua preferência pessoal.
sudo vim /etc/nginx/sites-available/domain.tld
Agora que o arquivo existe adicionar o seguinte texto a este arquivo. Modifique o texto indicado para referenciar seu domínio, a porta do seu aplicativo está usando e seus caminhos de certificado SSL. Este arquivo será a principal configuração para o proxy reverso:
###
# This Section listens on port 80 for your domain and rewrites the request
# to HTTPS for us
###
server {
listen 80;
server_name domain.tld www.domain.tld; # Edit this to your domain name
rewrite ^ https://$host$request_uri permanent;
}
###
# This is all the configuration declarations that help SSL Function.
###
server {
listen 443 ssl;
server_name domain.tld;
# Edit this to your domain name
ssl_certificate /etc/letsencrypt/live/domain.tld/fullchain.pem;
# If you use Lets Encrypt, you should just need to change the domain.
ssl_certificate_key /etc/letsencrypt/live/domain.tld/privkey.pem;
# If you use Let's Encrypt, you should just need to change the domain.
ssl_session_cache builtin:1000 shared:SSL:10m;
# Defining option to share SSL Connection with Passed Proxy
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
# Defining used protocol versions.
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
# Defining ciphers to use.
ssl_prefer_server_ciphers on;
# Enabling ciphers
access_log /var/log/nginx/access.log;
# Log Location. Can be anywhere. Make sure the nginx user defined in /etc/nginx/nginx.conf has r/w permissions
###
# This is the juicey part of the config file, handing off relevant data to
# our back-end app running on port 3000
# Nothing should need to be changed here, unless port 3000 is not the port
# you're using.
# Furthermore, if you're using a socket to serve your app (PHP comes to
# mind), you can define a unix:.sock location here as well
###
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:3000;
proxy_read_timeout 90;
}
}
Salve o arquivo e saia do editor de texto.
Agora que a configuração foi criada, temos que dizer ao Nginx para verificar o arquivo durante o carregamento. Faremos um link simbólico:
sudo ln -s /etc/nginx/sites-avaialable/domain.tld /etc/nginx/sites-enabled/domain.tld.conf
Em seguida, testamos a configuração antes de reiniciar o serviço do sistema Nginx
sudo nginx -t
Posteriormente, ele deve executar o teste e gerar a seguinte mensagem em caso de sucesso:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Agora sabemos que o arquivo de configuração não causará uma falha, então vamos reiniciar o serviço Nginx e testar o aplicativo.
sudo systemctl restart nginx
Agora você deve ter acesso ao aplicativo em execução na porta definida navegando para o Domínio-TLD. conforme descrito no arquivo de configuração Nginx criado anteriormente.
Escrito por Hostwinds Team / Junho 14, 2019