Olá pessoal, compartilhando mais um post do nosso amigo Fernando Lucio, da Impacta Sistemas
Pra usar o nginx no Windows, pode acessar o site https://nginx.org/ e baixar, o link que está disponível hoje é https://nginx.org/download/nginx-1.27.4.zip
Baixe ele, descompacte e gere no C:\ a pasta nginx
Teremos algo tipo C:\Nginx\Nginx.exe
Se quiser rodar o nginx como serviço, use no cmd C:\NSSM\Win64\nssm.exe install _NGINX_, vai abrir a tela do nssm, informe o patch de nginx.exe e clique em ok, abra o services.msc, ache o serviço e pode colocar pra rodar.
O Nginx é um xarope de configurar, através do arquivo C:\nginx\conf\nginx.conf
Pense no .conf como algo similar a um arquivo ini ou json que não precisa de , após }
Eu vou compartilhar meu arquivo para terem de base, mas vou explicar já umas alterações
1 - alterei o *worker_processes 1;* para *worker_processes auto;* isso vai fazer com que o nginx possa executar uma instancia por processador, vai atender paralelamente as chamadas remotas
2 - alerei o *worker_connections 1024;* para *worker_connections 4096;* pra permitir muitas conexões simultâneas
3 - na sessão http adicionei *server_names_hash_bucket_size 64; * porque se começar a ficar longos as urls com o subdomínio, isso vai ser otimizado, poderia usar 128
4 - alterei o log_format main, pro log ficar mais completo
5 - adicionei *keepalive_timeout 15*,porque se o cliente solicitar algo, mas demorar mais que 15 segundos pra confirmar via tcp a conexão, eu derrubo a sessão, isso pra otimizar aquelas conexões que não tem como atender por serem ruim demais
6 - Adicionei *gzip on;* e mais 4 linhas a seguir, imagina retornar um json de 8 mb mas no trafego computador olhe lá 120kb, isso é fundamental pra rodar bem, isso é uma mágina
Agora só adicionar os servers, você pode em uma porta 443 não só servir subdomínios de um mesmo domínio, mas vários e domínios diferentes por padrão use:
server {
listen 443 ssl;
server_name subdominio.dominio.com.br;
location / { limit_req zone=one burst=5;
proxy_pass http://127.0.0.1:8005/;
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;
#WebSocket
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
#Cuidado com conexões lentas
proxy_connect_timeout 60s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;
}
ssl_certificate C://Certificados//subdominio.dominio.com.br-chain.pem;
ssl_certificate_key C://Certificados//subdominio.dominio.com.br-key.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers on;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
#Adicionado para Performance
expires 1d;
add_header Cache-Control "public, no-transform";
add_header X-Content-Type-Options "nosniff";
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
}
Pra ter outros domínios, só ir adicionando mais seções server{}
Cada sessão *server{}* é um domínio que pode atender
Comentários
Postar um comentário