[Auto-Sync] Atualização das configurações em srvproxy001.itguys.com.br - 2025-09-21 04:02:58
This commit is contained in:
parent
181ab9b0b8
commit
d43b8edebc
|
|
@ -1,76 +1,77 @@
|
||||||
# Ficheiro: /etc/nginx/sites-available/telefonia.itguys.com.br.conf
|
# ==============================================================================
|
||||||
|
# ARQUIVO: /etc/nginx/sites-available/telefonia.itguys.com.br.conf
|
||||||
|
# AUTOR: Gemini (Especialista NGINX)
|
||||||
|
# DATA: 21/09/2025
|
||||||
#
|
#
|
||||||
# Configuração de Proxy Reverso OTIMIZADA para a interface web do MagnusBilling.
|
# DESCRIÇÃO:
|
||||||
# Esta versão usa snippets para modularidade, inclui suporte a WebSockets e
|
# Configuração de Proxy Reverso OTIMIZADA e SEGURA para MagnusBilling.
|
||||||
# está restrita à rede interna.
|
#
|
||||||
|
# FUNCIONALIDADES:
|
||||||
|
# - Sem Cache: Nenhuma regra de cache é aplicada para garantir dados em tempo real.
|
||||||
|
# - Redirecionamento canónico forçado para HTTPS.
|
||||||
|
# - Restrição de Acesso à rede interna.
|
||||||
|
# - Suporte a WebSockets para a interface.
|
||||||
|
# - Bloco `upstream` e organização de código padronizada.
|
||||||
|
# ==============================================================================
|
||||||
|
|
||||||
|
# Define o nosso servidor MagnusBilling como um "upstream".
|
||||||
|
upstream magnusbilling_backend {
|
||||||
|
server 172.16.254.130;
|
||||||
|
}
|
||||||
|
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
# BLOCO HTTP: Redirecionar para HTTPS
|
# BLOCO 1: Redirecionamento de HTTP (porta 80) para HTTPS
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
server {
|
server {
|
||||||
if ($host = telefonia.itguys.com.br) {
|
|
||||||
return 301 https://$host$request_uri;
|
|
||||||
} # managed by Certbot
|
|
||||||
|
|
||||||
|
|
||||||
listen 80;
|
listen 80;
|
||||||
listen [::]:80;
|
listen [::]:80;
|
||||||
server_name telefonia.itguys.com.br;
|
server_name telefonia.itguys.com.br;
|
||||||
include /etc/nginx/snippets/custom_errors.conf; # Carrega as páginas de erro personalizadas
|
|
||||||
|
|
||||||
# Permite a validação do Let's Encrypt, que acontece na porta 80.
|
# Permite a validação do Let's Encrypt.
|
||||||
location /.well-known/acme-challenge/ {
|
location /.well-known/acme-challenge/ {
|
||||||
root /var/www/html;
|
root /var/www/html;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Redireciona todo o outro tráfego para a versão segura.
|
# Redireciona todo o tráfego para a versão segura.
|
||||||
location / {
|
location / {
|
||||||
return 301 https://$host$request_uri;
|
return 301 https://$host$request_uri;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
# BLOCO HTTPS: O Coração da nossa Configuração
|
# BLOCO 2: Servidor Principal - Proxy Reverso para MagnusBilling (HTTPS)
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
server {
|
server {
|
||||||
listen 443 ssl http2;
|
listen 443 ssl http2;
|
||||||
listen [::]:443 ssl http2;
|
listen [::]:443 ssl http2;
|
||||||
server_name telefonia.itguys.com.br;
|
server_name telefonia.itguys.com.br;
|
||||||
include /etc/nginx/snippets/custom_errors.conf; # Carrega as páginas de erro personalizadas
|
|
||||||
|
|
||||||
# --- Certificados e Segurança SSL ---
|
|
||||||
#ssl_certificate /etc/letsencrypt/live/telefonia.itguys.com.br/fullchain.pem;
|
|
||||||
#ssl_certificate_key /etc/letsencrypt/live/telefonia.itguys.com.br/privkey.pem;
|
|
||||||
#ssl_trusted_certificate /etc/letsencrypt/live/telefonia.itguys.com.br/fullchain.pem;
|
|
||||||
# Inclui o nosso "kit" de segurança SSL com cifras modernas e cabeçalhos.
|
|
||||||
include /etc/nginx/snippets/ssl_params.conf;
|
|
||||||
|
|
||||||
# --- Políticas de Acesso e Logs ---
|
|
||||||
# A TRAVA DE SEGURANÇA: Restringe o acesso apenas às suas redes internas.
|
|
||||||
include /etc/nginx/snippets/internal_networks.conf;
|
|
||||||
# Bloqueia a indexação por motores de busca.
|
|
||||||
include /etc/nginx/snippets/global_robots.conf;
|
|
||||||
# Usa o nosso formato de log JSON detalhado.
|
|
||||||
access_log /var/log/nginx/access.log detailed_proxy;
|
|
||||||
error_log /var/log/nginx/error.log;
|
|
||||||
|
|
||||||
# --- Rota Principal para a Aplicação ---
|
|
||||||
# Como a interface do MagnusBilling é totalmente dinâmica, não aplicamos
|
|
||||||
# nenhuma regra de cache para garantir que os dados estejam sempre atualizados.
|
|
||||||
location / {
|
|
||||||
# Inclui os cabeçalhos de proxy padrão (Host, X-Real-IP, etc.).
|
|
||||||
include /etc/nginx/snippets/proxy_params.conf;
|
|
||||||
|
|
||||||
# Inclui os parâmetros para WebSockets, que podem ser necessários
|
|
||||||
# para atualizações em tempo real na interface.
|
|
||||||
include /etc/nginx/snippets/websocket_params.conf;
|
|
||||||
|
|
||||||
# Encaminha o tráfego para o seu servidor MagnusBilling.
|
|
||||||
proxy_pass http://172.16.254.130;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
# --- CONFIGURAÇÕES DE SSL E SEGURANÇA ---
|
||||||
ssl_certificate /etc/letsencrypt/live/telefonia.itguys.com.br/fullchain.pem; # managed by Certbot
|
ssl_certificate /etc/letsencrypt/live/telefonia.itguys.com.br/fullchain.pem; # managed by Certbot
|
||||||
ssl_certificate_key /etc/letsencrypt/live/telefonia.itguys.com.br/privkey.pem; # managed by Certbot
|
ssl_certificate_key /etc/letsencrypt/live/telefonia.itguys.com.br/privkey.pem; # managed by Certbot
|
||||||
|
include /etc/nginx/snippets/ssl_params.conf;
|
||||||
|
add_header X-Content-Type-Options "nosniff" always;
|
||||||
|
add_header X-Frame-Options "SAMEORIGIN" always;
|
||||||
|
|
||||||
|
# --- POLÍTICAS DE ACESSO E LOGS ---
|
||||||
|
include /etc/nginx/snippets/internal_networks.conf;
|
||||||
|
include /etc/nginx/snippets/global_robots.conf;
|
||||||
|
access_log /var/log/nginx/telefonia.itguys.com.br.access.log;
|
||||||
|
error_log /var/log/nginx/telefonia.itguys.com.br.error.log warn;
|
||||||
|
|
||||||
|
# --- PARÂMETROS DE PROXY GLOBAIS ---
|
||||||
|
include /etc/nginx/snippets/proxy_params.conf;
|
||||||
|
|
||||||
|
# --- ROTA PRINCIPAL PARA A APLICAÇÃO ---
|
||||||
|
location / {
|
||||||
|
# Habilita o suporte a WebSockets.
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
|
proxy_set_header Connection "upgrade";
|
||||||
|
|
||||||
|
proxy_pass http://magnusbilling_backend;
|
||||||
|
}
|
||||||
|
|
||||||
|
# --- Páginas de Erro Personalizadas ---
|
||||||
|
include /etc/nginx/snippets/custom_errors.conf;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue