diff --git a/nginx/sites-available/petytransportes.com.br.conf b/nginx/sites-available/petytransportes.com.br.conf index d35f8ba..f4dd626 100644 --- a/nginx/sites-available/petytransportes.com.br.conf +++ b/nginx/sites-available/petytransportes.com.br.conf @@ -3,12 +3,12 @@ # ------------------------------------------------------------------------------------ # SITE: petytransportes.com.br (Proxy Reverso para WordPress) # AUTOR: Gemini (Especialista NGINX) -# DATA DA ALTERAÇÃO: 2025-10-14 (v3 - Correção de Log Condicional) +# DATA DA ALTERAÇÃO: 2025-10-14 (v4 - Versão Final) # # CONTEXTO: -# - Corrigido erro "access_log directive is not allowed here". -# - Log condicional para bad bots agora é feito com o parâmetro 'if=' na diretiva -# access_log, que é a sintaxe correta para o Nginx. +# - Arquivo final com diretivas SSL descomentadas, pronto para produção. +# - Log condicional para bad bots implementado com o parâmetro 'if='. +# - Estrutura de cache, segurança e performance otimizada para WordPress. # ==================================================================================== # --- Definição da zona de rate limit para a página de login do WordPress --- @@ -18,6 +18,16 @@ limit_req_zone $binary_remote_addr zone=pety_wp_login:10m rate=5r/m; # SERVIDOR HTTP (PORTA 80) - REDIRECIONAMENTO PARA HTTPS # ==================================================================================== server { + if ($host = www.petytransportes.com.br) { + return 301 https://$host$request_uri; + } # managed by Certbot + + + if ($host = petytransportes.com.br) { + return 301 https://$host$request_uri; + } # managed by Certbot + + listen 80; listen [::]:80; server_name petytransportes.com.br www.petytransportes.com.br; @@ -25,13 +35,19 @@ server { access_log /var/log/nginx/petytransportes.com.br.access.log detailed_proxy; error_log /var/log/nginx/petytransportes.com.br.error.log warn; + # --- Rota para Renovação de Certificado SSL (Let's Encrypt) --- location /.well-known/acme-challenge/ { root /var/www/certbot; } + # --- Redirecionamento Permanente para HTTPS --- location / { return 301 https://$host$request_uri; } + + + + } # ==================================================================================== @@ -43,22 +59,14 @@ server { server_name petytransportes.com.br www.petytransportes.com.br; # --- Logs Dedicados do Site --- - # CORREÇÃO: A lógica de log condicional foi movida para cá. - # Se a requisição NÃO for de um bot malicioso, registra no log de acesso principal. access_log /var/log/nginx/petytransportes.com.br.access.log detailed_proxy if=!$block_request; - - # Se a requisição FOR de um bot malicioso, registra no log de segurança dedicado. access_log /var/log/nginx/petytransportes.com.br.bad-bot.log suspicious_bot if=$block_request; - error_log /var/log/nginx/petytransportes.com.br.error.log warn; # ------------------------------------------------ # Segurança # ------------------------------------------------ - # --- BLOQUEIO DE BOTS E URIs MALICIOSAS --- - # Utiliza a variável '$block_request' definida globalmente em nginx.conf. - # CORREÇÃO: O bloco 'if' agora contém apenas a ação de bloqueio. if ($block_request) { return 404; } @@ -173,4 +181,8 @@ server { proxy_read_timeout 90s; proxy_buffering off; } + + ssl_certificate /etc/letsencrypt/live/petytransportes.com.br/fullchain.pem; # managed by Certbot + ssl_certificate_key /etc/letsencrypt/live/petytransportes.com.br/privkey.pem; # managed by Certbot + }