Implementar una página de error personalizada en nginx

Buenas a todos, hoy les traigo una forma graciosa de como personalizar la plantilla de error de nginx.

Tener una página de error predeterminada de Apache HTTP o Nginx no se ve bien y revela información de la versión, lo que conduce a una fuga de información. Hoy les muestro como personalizarla.

Si no ha implementado una página de error personalizada para su aplicación web, debe considerar hacerlo por muchas razones, incluidas las siguientes.

  • Branding – Muestre mensajes personalizados con su logotipo y algunas líneas de mensajes para que los visitantes tomen conciencia del problema y enlace para contactar al equipo respectivo.
  • Vulnerabilidad – Si está trabajando en el entorno de cumplimiento de PCI DSS, debe considerar corregir la vulnerabilidad de fuga de información, que se encuentra en la página de error predeterminada del producto.
  • Mejor interfaz de usuario – Se trata de una mejor experiencia de usuario y eso también puede proporcionar en una página de error. Por ejemplo, si el contenido solicitado por un usuario no existe, el servidor web mostrará la página de error 404 predeterminada y el usuario más probable cerrará la sesión. ¿Qué tal tener una página personalizada donde un usuario puede buscar o mostrar elementos relacionados y una navegación adecuada?

¿Suena bien?

Bueno, estoy seguro de que de esta manera está reteniendo visitantes para continuar en un sitio web y mejorar las tasas de rebote.

¿Todavía no está convencido?

Vamos a ver…

Así que esta es la página predeterminada «404 no encontrada» de Nginx

¿Qué harías cuando recibas esta página?

Lo más probable es que lo cierre.

Ahora conoce la ventaja y es hora de implementarlas. Puede tener una página personalizada en varios Código de estado HTTP eventos. Creo que lo siguiente es esencial.

  • 404 – No encontrado
  • 403 – Prohibido
  • 500 – Error interno del servidor
  • 503 – Servicio no Disponible
  • 504 – Tiempo de espera de la puerta de enlace

Requisito previo

Supongo que ya ha creado una página personalizada. Si necesita algunas imágenes 404, puede obtenerlas de Elementos.

Implementación en Apache HTTP

Hay varias formas de hacer esto. Por ejemplo, puede hacer esto usando la directiva Rewrite o ErrorDocument. Explicaré cómo hacerlo con la directiva ErrorDocument.

  • Inicie sesión en el servidor HTTP Apache
  • Vaya a la carpeta apache conf donde tiene el archivo httpd.conf
  • Realice una copia de seguridad del archivo httpd.conf
  • Modifique httpd.conf y agregue ErrorDocument como a continuación

Guarde el httpd.conf y reinicia el servidor Apache

Intente acceder a algo que no existe y debería tener una página de error personalizada en lugar de la predeterminada.

Nota:: también puede redirigir a otra URL en caso de estos códigos de retorno de estado HTTP. Para la redirección, puede agregar una URL junto a cada código, como se muestra a continuación.

Implementando en Nginx

  • Inicie sesión en el servidor Nginx
  • Vaya a la ubicación del archivo nginx.conf
  • Como de costumbre, haga una copia de seguridad del archivo conf y agregue lo siguiente en el bloque http

Guarde el archivo y reinicie Nginx para que esto se refleje.

En muchas plantillas html traen imagenes que puedes incrustar con base64 si no sabes cómo hacerlo puedes auxiliarte con esta web https://www.base64-image.de/  e incrustar el codigo en el html.

Pueden descargar algunas plantillas ya personalizadas para que puedas editar desde acá

Otra configuracion que puedes hacer es crear un vhosts para las páginas de errores que quieras mostrar:
Ejemplo crearemos un virtualhost para todas las plantillas

nano /etc/nginx/sites-enabled/offline

En /media/webserver/offline subimos los archivos que personalizamos y reiniciamos el nginx

Cómo podemos probar dicha configuración, pueden limitar una web que solo se vea desde cuba, para ello creamos el archivo cuba.conf

Como notaras en ese fichero pusimos primeramente los bloques de ip internos de las redes y después los bloques púbicos de cuba permitiéndolos, y denegando todo lo demás es decir le mostrara el error 403, también personalizamos que los errores 404 y 403 realice una redireccion temporal a la url que pusimos anteriormente es decir http://offline.frcuba.cu/403.html. Ya una vez comprendido esto, procedemos a hacerle un include en las configuraciones de nuestros virtualhosts, acá le muestro un ejemplo de un FTP con h5a1 limitado solo a que se vea desde cuba.

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 3 / 5. Recuento de votos: 2

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Sobre Armando Felipe Fuentes Denis 82 artículos
Director de Infraestructura en Guajiritos S.R.L.

2 comentarios

  1. Firefox 87.0 Firefox 87.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:87.0) Gecko/20100101 Firefox/87.0

    gracias por los rangos ip de cuba, hace rato estaba en su busqueda slds


  2. Warning: Undefined array key 1 in /var/www/html/sysadminsdecuba/wp-content/plugins/wp-useragent/wp-useragent-detect-os.php on line 668
    Firefox 90.0 Firefox 90.0 Ubuntu x64 Ubuntu x64
    Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0

    Es verdad que nginx es la tiza

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.


*