diff --git a/nginx/sites-available/default-catchall.conf b/nginx/sites-available/default-catchall.conf new file mode 100644 index 0000000..3a07fbc --- /dev/null +++ b/nginx/sites-available/default-catchall.conf @@ -0,0 +1,32 @@ +# Ficheiro: /etc/nginx/sites-available/default-catchall.conf +# +# Bloco "catch-all" que responde a acessos diretos ao IP ou a hostnames +# não configurados, usando uma página de erro 403 estática. + +server { + # Escuta nas portas 80 e 443 e se declara o 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. + 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. + server_name _; + + # Desativa os logs para estas requisições. + access_log off; + log_not_found off; + + # Define a raiz onde as páginas de erro estão localizadas. + root /var/www/html; + + # --- LÓGICA DE ERRO SIMPLIFICADA --- + # 1. Define a página a ser usada para o erro 403. + error_page 403 /errors/403.html; + # 2. Força o retorno do erro 403 para TODAS as requisições. + return 403; +}