En aquest tema, aprendrem com configurar pàgines d'error personalitzades a NGINX. Les pàgines d'error personalitzades són útils per proporcionar una millor experiència d'usuari quan es produeixen errors en el servidor, com ara errors 404 (No trobat) o 500 (Error intern del servidor).
Objectius
- Entendre la importància de les pàgines d'error personalitzades.
- Aprendre a configurar pàgines d'error personalitzades a NGINX.
- Veure exemples pràctics de configuració.
- Realitzar exercicis pràctics per reforçar els conceptes apresos.
Importància de les pàgines d'error personalitzades
Les pàgines d'error personalitzades permeten:
- Proporcionar informació útil als usuaris sobre l'error.
- Mantenir la coherència del disseny del lloc web.
- Redirigir els usuaris a altres parts del lloc web.
- Millorar l'experiència d'usuari i la percepció del lloc web.
Configuració de pàgines d'error personalitzades a NGINX
Pas 1: Crear les pàgines d'error personalitzades
Primer, hem de crear les pàgines HTML que volem utilitzar com a pàgines d'error. Per exemple, podem crear una pàgina 404.html i una pàgina 500.html.
Exemple de 404.html:
<!DOCTYPE html>
<html lang="ca">
<head>
<meta charset="UTF-8">
<title>Pàgina no trobada</title>
<style>
body { font-family: Arial, sans-serif; text-align: center; padding: 50px; }
h1 { font-size: 50px; }
p { font-size: 20px; }
</style>
</head>
<body>
<h1>404</h1>
<p>Ho sentim, la pàgina que cerques no existeix.</p>
<a href="/">Torna a la pàgina principal</a>
</body>
</html>Exemple de 500.html:
<!DOCTYPE html>
<html lang="ca">
<head>
<meta charset="UTF-8">
<title>Error intern del servidor</title>
<style>
body { font-family: Arial, sans-serif; text-align: center; padding: 50px; }
h1 { font-size: 50px; }
p { font-size: 20px; }
</style>
</head>
<body>
<h1>500</h1>
<p>Ho sentim, hi ha hagut un error intern del servidor.</p>
<a href="/">Torna a la pàgina principal</a>
</body>
</html>Pas 2: Configurar NGINX per utilitzar les pàgines d'error personalitzades
Un cop creades les pàgines d'error, hem de configurar NGINX per utilitzar-les. Això es fa mitjançant la directiva error_page al fitxer de configuració de NGINX.
Exemple de configuració:
server {
listen 80;
server_name exemple.com;
root /var/www/exemple.com/html;
index index.html;
# Configuració de pàgines d'error personalitzades
error_page 404 /404.html;
location = /404.html {
internal;
}
error_page 500 502 503 504 /500.html;
location = /500.html {
internal;
}
location / {
try_files $uri $uri/ =404;
}
}Explicació de la configuració
error_page 404 /404.html;: Aquesta línia indica a NGINX que utilitzi la pàgina404.htmlper als errors 404.location = /404.html { internal; }: Aquesta línia defineix una ubicació interna per a la pàgina404.html, de manera que només es pot accedir a ella a través de la directivaerror_page.error_page 500 502 503 504 /500.html;: Aquesta línia indica a NGINX que utilitzi la pàgina500.htmlper als errors 500, 502, 503 i 504.location = /500.html { internal; }: Aquesta línia defineix una ubicació interna per a la pàgina500.html.
Pas 3: Reiniciar NGINX
Després de fer els canvis al fitxer de configuració, hem de reiniciar NGINX perquè els canvis tinguin efecte.
Exercicis pràctics
Exercici 1: Crear una pàgina d'error 403 personalitzada
- Crea una pàgina
403.htmlamb un missatge d'error adequat. - Configura NGINX per utilitzar aquesta pàgina per als errors 403.
- Reinicia NGINX i prova d'accedir a una pàgina amb accés denegat per veure la pàgina d'error personalitzada.
Solució:
<!-- 403.html -->
<!DOCTYPE html>
<html lang="ca">
<head>
<meta charset="UTF-8">
<title>Accés denegat</title>
<style>
body { font-family: Arial, sans-serif; text-align: center; padding: 50px; }
h1 { font-size: 50px; }
p { font-size: 20px; }
</style>
</head>
<body>
<h1>403</h1>
<p>Ho sentim, no tens permís per accedir a aquesta pàgina.</p>
<a href="/">Torna a la pàgina principal</a>
</body>
</html># Configuració de NGINX
server {
listen 80;
server_name exemple.com;
root /var/www/exemple.com/html;
index index.html;
# Configuració de pàgines d'error personalitzades
error_page 403 /403.html;
location = /403.html {
internal;
}
location / {
try_files $uri $uri/ =404;
}
}Exercici 2: Configurar una pàgina d'error 502 personalitzada
- Crea una pàgina
502.htmlamb un missatge d'error adequat. - Configura NGINX per utilitzar aquesta pàgina per als errors 502.
- Reinicia NGINX i prova d'accedir a una pàgina que generi un error 502 per veure la pàgina d'error personalitzada.
Solució:
<!-- 502.html -->
<!DOCTYPE html>
<html lang="ca">
<head>
<meta charset="UTF-8">
<title>Error de passarel·la</title>
<style>
body { font-family: Arial, sans-serif; text-align: center; padding: 50px; }
h1 { font-size: 50px; }
p { font-size: 20px; }
</style>
</head>
<body>
<h1>502</h1>
<p>Ho sentim, hi ha hagut un error de passarel·la.</p>
<a href="/">Torna a la pàgina principal</a>
</body>
</html># Configuració de NGINX
server {
listen 80;
server_name exemple.com;
root /var/www/exemple.com/html;
index index.html;
# Configuració de pàgines d'error personalitzades
error_page 502 /502.html;
location = /502.html {
internal;
}
location / {
try_files $uri $uri/ =404;
}
}Resum
En aquesta secció, hem après com configurar pàgines d'error personalitzades a NGINX. Hem vist la importància de tenir pàgines d'error personalitzades per millorar l'experiència d'usuari i hem après a configurar-les mitjançant exemples pràctics. A més, hem realitzat exercicis per reforçar els conceptes apresos. En el proper tema, explorarem el registre i els formats de registre a NGINX.
Curs de NGINX
Mòdul 1: Introducció a NGINX
Mòdul 2: NGINX com a servidor web
- Servint contingut estàtic
- Llistats de directoris
- Pàgines d'error personalitzades
- Registre i formats de registre
