diff --git a/nginx/sites-available/ferreirareal.com.br.conf b/nginx/sites-available/ferreirareal.com.br.conf deleted file mode 100644 index 57f9783..0000000 --- a/nginx/sites-available/ferreirareal.com.br.conf +++ /dev/null @@ -1,110 +0,0 @@ -# ============================================================================== -# ARQUIVO: /etc/nginx/sites-available/ferreirareal.com.br.conf -# AUTOR: Gemini (Especialista NGINX) -# DATA: 21/09/2025 -# -# DESCRIÇÃO: -# Configuração de PROXY REVERSO COM CACHE OTIMIZADO para um backend que serve -# conteúdo estático. Maximiza a performance e a resiliência, reduzindo a -# carga no servidor de origem (172.16.12.5). -# -# ESTRUTURA: -# - BLOCO 1: Redireciona todo o tráfego HTTP para HTTPS com 'www'. -# - BLOCO 2: Redireciona HTTPS sem 'www' para a versão canónica com 'www'. -# - BLOCO 3: Servidor principal que atua como proxy, servindo conteúdo do -# cache e contactando o backend quando necessário. -# ============================================================================== - -# ============================================================================== -# BLOCO 1: Redirecionamento de HTTP (porta 80) para HTTPS COM WWW -# ============================================================================== -server { - listen 80; - listen [::]:80; - server_name ferreirareal.com.br www.ferreirareal.com.br; - - # Permite a validação do Let's Encrypt sem interferir no redirecionamento. - location /.well-known/acme-challenge/ { - root /var/www/html; - } - - # Redireciona permanentemente (301) todo o outro tráfego para a URL canónica. - location / { - return 301 https://www.ferreirareal.com.br$request_uri; - } -} - -# ============================================================================== -# BLOCO 2: Redirecionamento de HTTPS SEM WWW para a versão COM WWW -# ============================================================================== -server { - listen 443 ssl http2; - listen [::]:443 ssl http2; - server_name ferreirareal.com.br; - - ssl_certificate /etc/letsencrypt/live/www.ferreirareal.com.br/fullchain.pem; # managed by Certbot - ssl_certificate_key /etc/letsencrypt/live/www.ferreirareal.com.br/privkey.pem; # managed by Certbot - include /etc/nginx/snippets/ssl_params.conf; - - return 301 https://www.ferreirareal.com.br$request_uri; -} - -# ============================================================================== -# BLOCO 3: Servidor Principal - PROXY REVERSO COM CACHE (HTTPS COM WWW) -# ============================================================================== -server { - listen 443 ssl http2; - listen [::]:443 ssl http2; - server_name www.ferreirareal.com.br; - - # --- CONFIGURAÇÕES DE SSL --- - ssl_certificate /etc/letsencrypt/live/www.ferreirareal.com.br/fullchain.pem; # managed by Certbot - ssl_certificate_key /etc/letsencrypt/live/www.ferreirareal.com.br/privkey.pem; # managed by Certbot - include /etc/nginx/snippets/ssl_params.conf; - - # --- CABEÇALHOS DE SEGURANÇA --- - # Adicionados pelo proxy para garantir a segurança no navegador do cliente. - add_header X-Frame-Options "SAMEORIGIN" always; - add_header X-Content-Type-Options "nosniff" always; - - # --- LOGS --- - access_log /var/log/nginx/ferreirareal.com.br.access.log; - error_log /var/log/nginx/ferreirareal.com.br.error.log warn; - - # --- CONFIGURAÇÃO DE CACHE DE PROXY --- - # Define a zona de cache a ser usada (deve ser definida em nginx.conf). - proxy_cache static_cache; - # Adiciona um cabeçalho para depuração (HIT, MISS, BYPASS, EXPIRED). - add_header X-Proxy-Cache $upstream_cache_status; - # Entrega conteúdo antigo se o backend estiver com erro ou offline. - proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504; - # Verifica com o backend se um arquivo expirado realmente mudou. - proxy_cache_revalidate on; - # Impede que múltiplas requisições para o mesmo recurso novo sobrecarreguem o backend. - proxy_cache_lock on; - - # --- PARÂMETROS DE PROXY --- - # Carrega configurações padrão para cabeçalhos de proxy (Host, X-Real-IP, etc). - include /etc/nginx/snippets/proxy_params.conf; - - # --- REGRAS DE ROTEAMENTO (LOCATIONS) --- - - # 1. Rota para Ficheiros Estáticos (Cache Agressivo) - location ~* \.(?:css|js|mjs|svg|gif|png|jpg|jpeg|ico|wasm|woff2?|ttf|eot)$ { - # Define um tempo de cache longo para assets que não mudam com frequência. - proxy_cache_valid 200 30d; - proxy_pass http://172.16.12.5:80; - # Opcional: desativa logs de acesso para assets para manter os logs limpos. - access_log off; - } - - # 2. Rota Principal para a Aplicação (HTML, etc., com cache curto) - location / { - # Define um tempo de cache curto para arquivos HTML que podem mudar mais vezes. - proxy_cache_valid 200 10m; - proxy_pass http://172.16.12.5:80; - } - - # --- PÁGINAS DE ERRO PERSONALIZADAS --- - include /etc/nginx/snippets/custom_errors.conf; -}