[Auto-Sync] Atualização das configurações em srvproxy001.itguys.com.br - 2025-09-22 09:09:22

This commit is contained in:
srvproxy001.itguys.com.br 2025-09-22 09:09:23 -03:00
parent 2d35d7d323
commit 9d95177037
1 changed files with 88 additions and 0 deletions

View File

@ -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;
}