[Auto-Sync] Atualização das configurações em srvproxy001.itguys.com.br - 2025-09-21 01:31:52
This commit is contained in:
parent
ba71b0427a
commit
980e750169
|
|
@ -1,28 +1,95 @@
|
|||
# Ficheiro: /etc/nginx/sites-available/default-catchall.conf
|
||||
#
|
||||
# Bloco "catch-all" (padrão) que responde a acessos diretos ao IP
|
||||
# ou a hostnames não configurados, com uma página de erro 403 amigável e auto-contida.
|
||||
# Bloco "catch-all" (padrão) otimizado para servir múltiplas páginas de erro HTML personalizadas.
|
||||
# Responde a acessos diretos ao IP ou a hostnames não configurados.
|
||||
#
|
||||
# --- EXPLICAÇÃO DAS DIRETIVAS ---
|
||||
#
|
||||
# 1. DIRETIVAS DE ESCUTA (listen):
|
||||
# - Mantidas como no original, escutando nas portas 80 e 443 (HTTP e HTTPS)
|
||||
# - A opção "default_server" marca este bloco como o padrão para qualquer requisição
|
||||
# que não corresponda a outro bloco "server" definido.
|
||||
#
|
||||
# 2. DIRETIVAS SSL (ssl_*):
|
||||
# - Mantidas para usar o certificado "snakeoil" auto-assinado para HTTPS.
|
||||
#
|
||||
# 3. NOME DO SERVIDOR (server_name):
|
||||
# - "server_name _;" é um nome especial que captura qualquer hostname que não
|
||||
# tenha sido explicitamente definido em outros ficheiros de configuração.
|
||||
#
|
||||
# 4. GESTÃO DE LOGS (access_log, log_not_found):
|
||||
# - Mantido como "off" para evitar poluir os ficheiros de log com requisições
|
||||
# indesejadas que caem neste bloco.
|
||||
#
|
||||
# 5. DIRETÓRIO RAIZ (root):
|
||||
# - Define o diretório base onde os seus ficheiros HTML de erro estarão localizados.
|
||||
# - Ex: /var/www/html/errors
|
||||
#
|
||||
# 6. MAPEAMENTO DE ERROS (error_page):
|
||||
# - Esta é a diretiva principal para esta configuração. Ela mapeia um ou mais
|
||||
# códigos de status HTTP para uma URI interna.
|
||||
# - Ex: "error_page 404 /404.html;" instrui o NGINX que, ao encontrar um erro 404,
|
||||
# ele deve fazer uma requisição interna para "/404.html".
|
||||
# - Agrupamos todos os erros 5xx (500, 502, 503, 504) para uma única página
|
||||
# genérica de erro de servidor (50x.html), uma prática comum e eficiente.
|
||||
#
|
||||
# 7. BLOCOS DE LOCALIZAÇÃO INTERNA (location = /<ficheiro>.html):
|
||||
# - Criamos um bloco "location" para cada ficheiro de erro.
|
||||
# - O sinal de igual ("=") garante uma correspondência exata e rápida da URI.
|
||||
# - A diretiva "internal" é crucial para a segurança: ela especifica que estes
|
||||
# ficheiros só podem ser acedidos através de requisições internas do NGINX
|
||||
# (geradas pela diretiva "error_page"), e não por um pedido direto do cliente
|
||||
# no navegador (ex: http://seu-ip/404.html retornará um erro).
|
||||
#
|
||||
# 8. AÇÃO PADRÃO (location /):
|
||||
# - Este bloco captura todas as requisições que chegam a este servidor.
|
||||
# - Em vez de servir um HTML embutido, agora simplesmente retornamos um código "404 Not Found".
|
||||
# - Este "return 404;" aciona a diretiva "error_page 404 ...", que por sua vez
|
||||
# serve o conteúdo do seu ficheiro /404.html personalizado. É uma forma limpa
|
||||
# e semanticamente correta de lidar com um recurso que não existe.
|
||||
|
||||
server {
|
||||
# Escuta nas portas 80 e 443 e se declara o servidor padrão.
|
||||
# --- Bloco 1: Configurações de Escuta e Servidor Padrão ---
|
||||
listen 80 default_server;
|
||||
listen [::]:80 default_server;
|
||||
listen 443 ssl http2 default_server;
|
||||
listen [::]:443 ssl http2 default_server;
|
||||
|
||||
# Usa o certificado "snakeoil" para a conexão HTTPS.
|
||||
# --- Bloco 2: Configurações de SSL ---
|
||||
ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem;
|
||||
ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;
|
||||
|
||||
# O server_name "_" captura qualquer hostname que não tenha sido definido.
|
||||
# --- Bloco 3: Nome do Servidor ---
|
||||
server_name _;
|
||||
|
||||
# Desativa os logs para estas requisições, para não poluir os seus ficheiros.
|
||||
# --- Bloco 4: Gestão de Logs ---
|
||||
access_log off;
|
||||
log_not_found off;
|
||||
|
||||
# --- LÓGICA FINAL E CORRIGIDA ---
|
||||
# Retorna um código 403 (Acesso Proibido) e serve o nosso HTML personalizado diretamente.
|
||||
# A variável $host será substituída pelo IP ou nome de domínio que o utilizador usou.
|
||||
return 403 '<!DOCTYPE html><html lang="pt-br"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Acesso Inválido</title><style>:root{--bg-color:#1c1c1c;--text-color:#e9ecef;--accent-color:#dc3545;--icon-color:#6c757d}@media (prefers-color-scheme:light){:root{--bg-color:#f8f9fa;--text-color:#212529}}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;margin:0;background-color:var(--bg-color);color:var(--text-color);text-align:center;padding:20px;box-sizing:border-box}h1{font-size:clamp(3rem,10vw,6rem);color:var(--accent-color);margin:0;font-weight:700}h2{font-size:clamp(1.5rem,5vw,2.5rem);margin:10px 0 20px 0;font-weight:300}p{font-size:clamp(1rem,2.5vw,1.2rem);max-width:600px;line-height:1.6}code{background-color:#343a40;padding:3px 6px;border-radius:4px;color:#ffc107}</style></head><body><h1>Acesso Inválido</h1><h2>Servidor Não Configurado</h2><p>O nome de domínio <code>$host</code> que você tentou aceder não está configurado neste servidor.</p><p>Por favor, use a URL correta para aceder ao serviço desejado.</p></body></html>';
|
||||
# --- Bloco 5: Diretório Raiz para os Ficheiros de Erro ---
|
||||
root /var/www/html/errors;
|
||||
|
||||
# --- Bloco 6: Mapeamento de Códigos de Erro para Páginas Personalizadas ---
|
||||
error_page 403 /403.html;
|
||||
error_page 404 /404.html;
|
||||
error_page 500 502 503 504 /50x.html;
|
||||
|
||||
# --- Bloco 7: Lógica para Servir as Páginas de Erro de Forma Segura ---
|
||||
location = /403.html {
|
||||
internal;
|
||||
}
|
||||
|
||||
location = /404.html {
|
||||
internal;
|
||||
}
|
||||
|
||||
location = /50x.html {
|
||||
internal;
|
||||
}
|
||||
|
||||
# --- Bloco 8: Ação Padrão para Todas as Requisições ---
|
||||
# Retorna 404 para qualquer URI, o que aciona a regra "error_page" correspondente.
|
||||
location / {
|
||||
return 404;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue