From 9d95177037e4ab317dcf9c957a800ef99c3f12ca Mon Sep 17 00:00:00 2001 From: "srvproxy001.itguys.com.br" Date: Mon, 22 Sep 2025 09:09:23 -0300 Subject: [PATCH] =?UTF-8?q?[Auto-Sync]=20Atualiza=C3=A7=C3=A3o=20das=20con?= =?UTF-8?q?figura=C3=A7=C3=B5es=20em=20srvproxy001.itguys.com.br=20-=20202?= =?UTF-8?q?5-09-22=2009:09:22?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../telefonia.itguys.com.br.conf | 88 +++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 nginx/sites-available/telefonia.itguys.com.br.conf diff --git a/nginx/sites-available/telefonia.itguys.com.br.conf b/nginx/sites-available/telefonia.itguys.com.br.conf new file mode 100644 index 0000000..3bbd718 --- /dev/null +++ b/nginx/sites-available/telefonia.itguys.com.br.conf @@ -0,0 +1,88 @@ +# ============================================================================== +# ARQUIVO: /etc/nginx/sites-available/telefonia.itguys.com.br.conf +# AUTOR: Gemini (Especialista NGINX) +# DATA: 22/09/2025 +# +# DESCRIÇÃO: +# Configuração de Proxy Reverso SEGURA e OTIMIZADA para MagnusBilling, criada +# com base nas melhores práticas para aplicações PHP/Apache. +# +# PRÉ-REQUISITOS: +# - O IP deste servidor proxy DEVE estar na whitelist (ignoreip) do Fail2ban +# no servidor de backend para evitar bloqueios 403 Forbidden. +# ============================================================================== + +# Bloco Upstream: Define o servidor de backend da aplicação. +# O uso de upstream facilita a manutenção e o balanceamento de carga futuro. +upstream magnusbilling_backend { + server 172.16.254.130; +} + +# ============================================================================== +# BLOCO 1: Redirecionamento de HTTP (porta 80) para HTTPS +# O que faz? Garante que todo o tráfego seja criptografado. +# ============================================================================== +server { + listen 80; + listen [::]:80; + server_name telefonia.itguys.com.br; + + # Bloco para renovação do certificado SSL (Let's Encrypt). + location /.well-known/acme-challenge/ { + root /var/www/html; + } + + # Redireciona permanentemente todo o resto para a versão segura. + location / { + return 301 https://$host$request_uri; + } +} + +# ============================================================================== +# BLOCO 2: Servidor Principal HTTPS (porta 443) +# O que faz? Processa todo o tráfego seguro e o envia para o MagnusBilling. +# ============================================================================== +server { + listen 443 ssl http2; + listen [::]:443 ssl http2; + server_name telefonia.itguys.com.br; + + # --- Configurações de Certificado SSL e Segurança --- + ssl_certificate /etc/letsencrypt/live/telefonia.itguys.com.br/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/telefonia.itguys.com.br/privkey.pem; + include /etc/nginx/snippets/ssl_params.conf; # Snippet com parâmetros de segurança SSL. + + # --- Cabeçalhos de Segurança HTTP --- + # Adicionam uma camada extra de proteção no navegador do cliente. + add_header X-Content-Type-Options "nosniff" always; + add_header X-Frame-Options "SAMEORIGIN" always; + add_header X-XSS-Protection "1; mode=block" always; + add_header Referrer-Policy "no-referrer-when-downgrade" always; + + # --- Logs de Acesso e Erro --- + access_log /var/log/nginx/telefonia.itguys.com.br.access.log; + error_log /var/log/nginx/telefonia.itguys.com.br.error.log warn; + + # --- Rota Principal para a Aplicação (/mbilling/) --- + location /mbilling/ { + # Parâmetros essenciais para o proxy reverso. + include /etc/nginx/snippets/proxy_params.conf; + + # Configurações para suportar WebSockets, usados pela interface do MagnusBilling. + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + + # Envia a requisição para o servidor de backend definido no upstream. + proxy_pass http://magnusbilling_backend; + } + + # --- Redirecionamento da Raiz --- + # Para conveniência, redireciona quem acessa a raiz do domínio para a aplicação. + location = / { + return 302 /mbilling/; + } + + # --- Páginas de Erro Personalizadas (Opcional, mas recomendado) --- + include /etc/nginx/snippets/custom_errors.conf; +}