From e6452ce641c8a2020ae6da46b1f329178102fd07 Mon Sep 17 00:00:00 2001 From: "srvproxy001.itguys.com.br" Date: Sun, 21 Sep 2025 00:12:44 -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-21=2000:12:44?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nginx/sites-available/anatram.com.br.conf | 3 + .../sites-available/apply_errors_globally.sh | 60 +++++++++++++++++++ .../business.itguys.com.br.conf | 2 + .../cloud.grupopralog.com.br.conf | 2 + nginx/sites-available/default-catchall.conf | 3 + .../sites-available/default-modsecurity.conf | 2 + .../dns-primario.itguys.com.br.conf | 2 + .../sites-available/ferreirareal.com.br.conf | 3 + nginx/sites-available/git.itguys.com.br.conf | 2 + nginx/sites-available/itguys.com.br.conf | 3 + .../katalog.itguys.com.br.conf | 2 + .../sites-available/mimir.itguys.com.br.conf | 2 + .../monitoramento.itguys.com.br.conf | 2 + nginx/sites-available/ns1.itguys.com.br.conf | 2 + nginx/sites-available/ns2.itguys.com.br.conf | 2 + .../sites-available/proxy.itguys.com.br.conf | 2 + .../telefonia.itguys.com.br.conf | 2 + .../sites-available/zammad.itguys.com.br.conf | 2 + 18 files changed, 98 insertions(+) create mode 100755 nginx/sites-available/apply_errors_globally.sh diff --git a/nginx/sites-available/anatram.com.br.conf b/nginx/sites-available/anatram.com.br.conf index 2714c6d..7947262 100644 --- a/nginx/sites-available/anatram.com.br.conf +++ b/nginx/sites-available/anatram.com.br.conf @@ -22,6 +22,7 @@ server { listen [::]:80; # Apanha ambos os domínios, com e sem 'www'. server_name anatram.com.br www.anatram.com.br; +include /etc/nginx/snippets/custom_errors.conf; # Carrega as páginas de erro personalizadas # Permite a validação do Let's Encrypt. location /.well-known/acme-challenge/ { @@ -46,6 +47,7 @@ server { listen [::]:443 ssl http2; # Apanha APENAS o domínio com 'www'. server_name www.anatram.com.br; +include /etc/nginx/snippets/custom_errors.conf; # Carrega as páginas de erro personalizadas # Envia um redirecionamento permanente para a versão canónica sem 'www'. return 301 https://anatram.com.br$request_uri; @@ -62,6 +64,7 @@ server { listen [::]:443 ssl http2; # Apanha o domínio canónico sem 'www'. server_name anatram.com.br; +include /etc/nginx/snippets/custom_errors.conf; # Carrega as páginas de erro personalizadas # Inclui o nosso "kit" de segurança SSL com cifras modernas e cabeçalhos. include /etc/nginx/snippets/ssl_params.conf; diff --git a/nginx/sites-available/apply_errors_globally.sh b/nginx/sites-available/apply_errors_globally.sh new file mode 100755 index 0000000..e959f2c --- /dev/null +++ b/nginx/sites-available/apply_errors_globally.sh @@ -0,0 +1,60 @@ +#!/bin/bash + +# ============================================================================== +# SCRIPT PARA ADICIONAR O SNIPPET DE ERROS PERSONALIZADOS (VERSÃO ROBUSTA) +# +# Descrição: Este script percorre todos os ficheiros de configuração de site +# e adiciona a diretiva 'include' para o snippet de erros +# nos blocos de servidor HTTPS (porta 443). +# ============================================================================== + +set -e + +# --- Variáveis de Configuração --- +SITES_DIR="/etc/nginx/sites-available" +SNIPPET_PATH="/etc/nginx/snippets/custom_errors.conf" +SNIPPET_LINE=" include ${SNIPPET_PATH}; # Carrega as páginas de erro personalizadas" +# Ponto de referência estável para a inserção da linha. +ANCHOR_LINE="server_name" + +# --- Funções de Ajuda --- +info() { echo -e "\e[32m[INFO]\e[0m $1"; } +warn() { echo -e "\e[33m[AVISO]\e[0m $1"; } + +# --- Início da Execução --- +info "Iniciando o processo de adição do snippet de erros..." + +if [ "$EUID" -ne 0 ]; then + echo "ERRO: Este script precisa de ser executado como root." >&2 + exit 1 +fi + +if [ ! -f "$SNIPPET_PATH" ]; then + echo "ERRO: O ficheiro do snippet '${SNIPPET_PATH}' não foi encontrado." >&2 + exit 1 +fi + +# Percorre cada ficheiro .conf no diretório de sites disponíveis. +for file in "$SITES_DIR"/*.conf; do + # Verifica se é um ficheiro regular. + if [[ ! -f "$file" ]]; then + continue + fi + + # Verifica se o ficheiro contém um bloco de servidor HTTPS. + if grep -q "listen 443 ssl" "$file"; then + # Verifica se a linha do snippet JÁ NÃO EXISTE para evitar duplicação. + if ! grep -q "include ${SNIPPET_PATH};" "$file"; then + info "A adicionar o snippet de erros a: $(basename "$file")" + # Usa 'sed' para inserir a nossa linha de include logo após a primeira + # ocorrência da linha que contém 'server_name'. + sudo sed -i "/${ANCHOR_LINE}/a ${SNIPPET_LINE}" "$file" + else + warn "O snippet já existe em $(basename "$file"). A ignorar." + fi + fi +done + +echo "" +info "Processo concluído!" +info "Por favor, teste a sua nova configuração com 'sudo nginx -t' e depois recarregue com 'sudo systemctl reload nginx'." diff --git a/nginx/sites-available/business.itguys.com.br.conf b/nginx/sites-available/business.itguys.com.br.conf index 8b9ce42..7b78441 100644 --- a/nginx/sites-available/business.itguys.com.br.conf +++ b/nginx/sites-available/business.itguys.com.br.conf @@ -15,6 +15,7 @@ server { listen 80; listen [::]:80; server_name business.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. location /.well-known/acme-challenge/ { @@ -36,6 +37,7 @@ server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name business.itguys.com.br; +include /etc/nginx/snippets/custom_errors.conf; # Carrega as páginas de erro personalizadas ssl_certificate /etc/letsencrypt/live/business.itguys.com.br/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/business.itguys.com.br/privkey.pem; diff --git a/nginx/sites-available/cloud.grupopralog.com.br.conf b/nginx/sites-available/cloud.grupopralog.com.br.conf index 0fd165c..9468dd3 100644 --- a/nginx/sites-available/cloud.grupopralog.com.br.conf +++ b/nginx/sites-available/cloud.grupopralog.com.br.conf @@ -15,6 +15,7 @@ server { listen 80; listen [::]:80; server_name cloud.grupopralog.com.br; +include /etc/nginx/snippets/custom_errors.conf; # Carrega as páginas de erro personalizadas location /.well-known/acme-challenge/ { root /var/www/html; } location / { return 301 https://$host$request_uri; } @@ -28,6 +29,7 @@ server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name cloud.grupopralog.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/cloud.grupopralog.com.br/fullchain.pem; diff --git a/nginx/sites-available/default-catchall.conf b/nginx/sites-available/default-catchall.conf index 3d1615b..9342097 100644 --- a/nginx/sites-available/default-catchall.conf +++ b/nginx/sites-available/default-catchall.conf @@ -11,6 +11,7 @@ server { # Escuta nas portas 80 e 443 para tráfego IPv4 e IPv6. # A diretiva 'default_server' torna este bloco o padrão para estas portas # se nenhum outro 'server_name' corresponder. +include /etc/nginx/snippets/custom_errors.conf; # Carrega as páginas de erro personalizadas listen 80 default_server; listen [::]:80 default_server; listen 443 ssl http2 default_server; @@ -25,8 +26,10 @@ server { # BLOCO 3: NOME DO SERVIDOR # O server_name "_" é uma forma especial de capturar qualquer hostname +include /etc/nginx/snippets/custom_errors.conf; # Carrega as páginas de erro personalizadas # que não tenha sido definido noutros ficheiros de configuração. server_name _; +include /etc/nginx/snippets/custom_errors.conf; # Carrega as páginas de erro personalizadas # BLOCO 4: LOGS # Desativa os logs para estas requisições, para não poluir os seus ficheiros. diff --git a/nginx/sites-available/default-modsecurity.conf b/nginx/sites-available/default-modsecurity.conf index 3af513f..c02c88c 100644 --- a/nginx/sites-available/default-modsecurity.conf +++ b/nginx/sites-available/default-modsecurity.conf @@ -44,6 +44,7 @@ server { index index.html index.htm index.nginx-debian.html; server_name _; +include /etc/nginx/snippets/custom_errors.conf; # Carrega as páginas de erro personalizadas # Enable ModSecurity WAF, if need #modsecurity on; @@ -86,6 +87,7 @@ server { # listen [::]:80; # # server_name example.com; +include /etc/nginx/snippets/custom_errors.conf; # Carrega as páginas de erro personalizadas # # root /var/www/example.com; # index index.html; diff --git a/nginx/sites-available/dns-primario.itguys.com.br.conf b/nginx/sites-available/dns-primario.itguys.com.br.conf index 9673a48..00de167 100644 --- a/nginx/sites-available/dns-primario.itguys.com.br.conf +++ b/nginx/sites-available/dns-primario.itguys.com.br.conf @@ -3,6 +3,7 @@ server { listen 80; listen [::]:80; server_name dns-primario.itguys.com.br; +include /etc/nginx/snippets/custom_errors.conf; # Carrega as páginas de erro personalizadas location / { return 301 https://$host$request_uri; @@ -13,6 +14,7 @@ server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name dns-primario.itguys.com.br; +include /etc/nginx/snippets/custom_errors.conf; # Carrega as páginas de erro personalizadas # O Certbot irá gerenciar estas linhas # ssl_certificate /etc/letsencrypt/live/ns1.itguys.com.br/fullchain.pem; diff --git a/nginx/sites-available/ferreirareal.com.br.conf b/nginx/sites-available/ferreirareal.com.br.conf index 39269b2..f57d297 100644 --- a/nginx/sites-available/ferreirareal.com.br.conf +++ b/nginx/sites-available/ferreirareal.com.br.conf @@ -22,6 +22,7 @@ server { listen [::]:80; # Apanha ambos os domínios, com e sem 'www'. server_name ferreirareal.com.br www.ferreirareal.com.br; +include /etc/nginx/snippets/custom_errors.conf; # Carrega as páginas de erro personalizadas # Permite a validação do Let's Encrypt. location /.well-known/acme-challenge/ { @@ -42,6 +43,7 @@ server { listen [::]:443 ssl http2; # Apanha APENAS o domínio sem 'www'. server_name ferreirareal.com.br; +include /etc/nginx/snippets/custom_errors.conf; # Carrega as páginas de erro personalizadas # Envia um redirecionamento permanente para a versão canónica com 'www'. return 301 https://www.ferreirareal.com.br$request_uri; @@ -58,6 +60,7 @@ server { listen [::]:443 ssl http2; # Apanha o domínio canónico com 'www'. server_name www.ferreirareal.com.br; +include /etc/nginx/snippets/custom_errors.conf; # Carrega as páginas de erro personalizadas # Inclui o nosso "kit" de segurança SSL com cifras modernas e cabeçalhos. include /etc/nginx/snippets/ssl_params.conf; diff --git a/nginx/sites-available/git.itguys.com.br.conf b/nginx/sites-available/git.itguys.com.br.conf index 5ad6848..ef294cb 100644 --- a/nginx/sites-available/git.itguys.com.br.conf +++ b/nginx/sites-available/git.itguys.com.br.conf @@ -15,6 +15,7 @@ server { listen 80; listen [::]:80; server_name git.itguys.com.br; +include /etc/nginx/snippets/custom_errors.conf; # Carrega as páginas de erro personalizadas # Regra especial para a validação do Let's Encrypt funcionar corretamente. location /.well-known/acme-challenge/ { @@ -37,6 +38,7 @@ server { listen [::]:443 ssl http2; server_name git.itguys.com.br; +include /etc/nginx/snippets/custom_errors.conf; # Carrega as páginas de erro personalizadas include /etc/nginx/snippets/global_robots.conf; # --- Cabeçalhos de Segurança --- add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; diff --git a/nginx/sites-available/itguys.com.br.conf b/nginx/sites-available/itguys.com.br.conf index 55a636f..d72c026 100644 --- a/nginx/sites-available/itguys.com.br.conf +++ b/nginx/sites-available/itguys.com.br.conf @@ -21,6 +21,7 @@ server { listen 80; listen [::]:80; server_name itguys.com.br www.itguys.com.br; +include /etc/nginx/snippets/custom_errors.conf; # Carrega as páginas de erro personalizadas location /.well-known/acme-challenge/ { root /var/www/html; @@ -38,6 +39,7 @@ server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name itguys.com.br; +include /etc/nginx/snippets/custom_errors.conf; # Carrega as páginas de erro personalizadas ssl_certificate /etc/letsencrypt/live/www.itguys.com.br/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/www.itguys.com.br/privkey.pem; # managed by Certbot ssl_trusted_certificate /etc/letsencrypt/live/www.itguys.com.br/fullchain.pem; @@ -53,6 +55,7 @@ server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name www.itguys.com.br; +include /etc/nginx/snippets/custom_errors.conf; # Carrega as páginas de erro personalizadas # --- Certificados e Segurança --- #ssl_certificate /etc/letsencrypt/live/www.itguys.com.br/fullchain.pem; diff --git a/nginx/sites-available/katalog.itguys.com.br.conf b/nginx/sites-available/katalog.itguys.com.br.conf index e8fcc7a..b2edb27 100644 --- a/nginx/sites-available/katalog.itguys.com.br.conf +++ b/nginx/sites-available/katalog.itguys.com.br.conf @@ -15,6 +15,7 @@ server { listen 80; listen [::]:80; server_name katalog.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, mesmo com a trava de rede na porta 443. location /.well-known/acme-challenge/ { @@ -36,6 +37,7 @@ server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name katalog.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/katalog.itguys.com.br/fullchain.pem; diff --git a/nginx/sites-available/mimir.itguys.com.br.conf b/nginx/sites-available/mimir.itguys.com.br.conf index e21f777..6305701 100644 --- a/nginx/sites-available/mimir.itguys.com.br.conf +++ b/nginx/sites-available/mimir.itguys.com.br.conf @@ -15,6 +15,7 @@ server { listen 80; listen [::]:80; server_name mimir.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, mesmo com a trava de rede na porta 443. location /.well-known/acme-challenge/ { @@ -36,6 +37,7 @@ server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name mimir.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/mimir.itguys.com.br/fullchain.pem; diff --git a/nginx/sites-available/monitoramento.itguys.com.br.conf b/nginx/sites-available/monitoramento.itguys.com.br.conf index 5b1c58d..5585eef 100644 --- a/nginx/sites-available/monitoramento.itguys.com.br.conf +++ b/nginx/sites-available/monitoramento.itguys.com.br.conf @@ -15,6 +15,7 @@ server { listen 80; listen [::]:80; server_name monitoramento.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, mesmo com a trava de rede. location /.well-known/acme-challenge/ { @@ -36,6 +37,7 @@ server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name monitoramento.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/monitoramento.itguys.com.br/fullchain.pem; diff --git a/nginx/sites-available/ns1.itguys.com.br.conf b/nginx/sites-available/ns1.itguys.com.br.conf index 0a33263..544154c 100644 --- a/nginx/sites-available/ns1.itguys.com.br.conf +++ b/nginx/sites-available/ns1.itguys.com.br.conf @@ -10,6 +10,7 @@ server { listen 80; listen [::]:80; server_name ns1.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, mesmo com a trava de rede. location /.well-known/acme-challenge/ { @@ -29,6 +30,7 @@ server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name ns1.itguys.com.br; +include /etc/nginx/snippets/custom_errors.conf; # Carrega as páginas de erro personalizadas # Inclui o nosso "kit" de segurança SSL com cifras modernas e cabeçalhos. include /etc/nginx/snippets/ssl_params.conf; diff --git a/nginx/sites-available/ns2.itguys.com.br.conf b/nginx/sites-available/ns2.itguys.com.br.conf index 94a264d..258091a 100644 --- a/nginx/sites-available/ns2.itguys.com.br.conf +++ b/nginx/sites-available/ns2.itguys.com.br.conf @@ -10,6 +10,7 @@ server { listen 80; listen [::]:80; server_name ns2.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, mesmo com a trava de rede. location /.well-known/acme-challenge/ { @@ -29,6 +30,7 @@ server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name ns2.itguys.com.br; +include /etc/nginx/snippets/custom_errors.conf; # Carrega as páginas de erro personalizadas # Inclui o nosso "kit" de segurança SSL com cifras modernas e cabeçalhos. include /etc/nginx/snippets/ssl_params.conf; diff --git a/nginx/sites-available/proxy.itguys.com.br.conf b/nginx/sites-available/proxy.itguys.com.br.conf index 700b0af..bf4336c 100644 --- a/nginx/sites-available/proxy.itguys.com.br.conf +++ b/nginx/sites-available/proxy.itguys.com.br.conf @@ -6,6 +6,7 @@ server { listen 80; server_name proxy.itguys.com.br; +include /etc/nginx/snippets/custom_errors.conf; # Carrega as páginas de erro personalizadas # ---- CONTROLE DE ACESSO ---- # 1. Inclui o arquivo de restrição de IPs @@ -23,6 +24,7 @@ server { server { listen 443 ssl http2; server_name proxy.itguys.com.br; +include /etc/nginx/snippets/custom_errors.conf; # Carrega as páginas de erro personalizadas # --- CAMINHO PARA OS CERTIFICADOS SSL (Será preenchido pelo Certbot) --- # ssl_certificate /etc/letsencrypt/live/proxy.itguys.com.br/fullchain.pem; diff --git a/nginx/sites-available/telefonia.itguys.com.br.conf b/nginx/sites-available/telefonia.itguys.com.br.conf index dc08143..4c77838 100644 --- a/nginx/sites-available/telefonia.itguys.com.br.conf +++ b/nginx/sites-available/telefonia.itguys.com.br.conf @@ -16,6 +16,7 @@ server { listen 80; listen [::]:80; 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. location /.well-known/acme-challenge/ { @@ -37,6 +38,7 @@ server { listen 443 ssl http2; listen [::]:443 ssl http2; 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; diff --git a/nginx/sites-available/zammad.itguys.com.br.conf b/nginx/sites-available/zammad.itguys.com.br.conf index bc3cf4b..6935bcd 100644 --- a/nginx/sites-available/zammad.itguys.com.br.conf +++ b/nginx/sites-available/zammad.itguys.com.br.conf @@ -16,6 +16,7 @@ server { listen 80; listen [::]:80; server_name zammad.itguys.com.br; +include /etc/nginx/snippets/custom_errors.conf; # Carrega as páginas de erro personalizadas location /.well-known/acme-challenge/ { root /var/www/html; } location / { return 301 https://$host$request_uri; } @@ -29,6 +30,7 @@ server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name zammad.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/zammad.itguys.com.br/fullchain.pem;