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

This commit is contained in:
srvproxy001.itguys.com.br 2025-09-21 01:33:28 -03:00
parent 980e750169
commit 33fa2dc943
1 changed files with 0 additions and 60 deletions

View File

@ -1,60 +0,0 @@
#!/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'."