diff --git a/nginx/sites-available/default-catchall.conf b/nginx/sites-available/default-catchall.conf index 265f5e1..f74bba7 100644 --- a/nginx/sites-available/default-catchall.conf +++ b/nginx/sites-available/default-catchall.conf @@ -1,30 +1,29 @@ # 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 um certificado SSL auto-assinado para a porta 443. +# ou a hostnames não configurados, agora usando a 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; - # --- A CORREÇÃO ESTÁ AQUI: CERTIFICADO SSL --- - # Usa o certificado "snakeoil" auto-assinado que já vem com o Debian. - # Isto permite que o Nginx estabeleça uma conexão HTTPS antes de negar o acesso. 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, para não poluir os seus ficheiros. access_log off; - log_not_found off; - # Retorna um código 403 (Acesso Proibido) e serve o nosso HTML personalizado. - # Isto é mais amigável para o utilizador do que o 'return 444'. - return 403 'Acesso Proibido

403

Acesso Proibido

O acesso a este servidor através do endereço $host não é permitido.

Por favor, use a URL correta (ex: www.exemplo.com) para aceder ao serviço desejado.

'; + # --- A MUDANÇA ESTÁ AQUI --- + # Em vez de gerar o HTML aqui, usamos o nosso sistema de erros padrão. + error_page 403 /errors/403.html; + # A diretiva 'return' agora apenas gera o erro, que será apanhado pelo 'error_page'. + return 403; + + # A localização para servir a página de erro precisa de estar aqui também. + location /errors/ { + root /var/www/html; + internal; + } }