NGINX con proxy inverso | Documentación de cPanel y WHM

NGINX con proxy inverso

Válido para las versiones 96 hasta la última versión


Última modificación: 17 de septiembre de 2021

Visión general

Nota:

  • Este documento hace referencia a la funcionalidad NGINX® cuando instala el ea-nginx paquete en cualquiera de WHM Gerente NGINX interfaz (WHM >> Inicio >> Software >> NGINX Manager) o WHM’s EasyApache 4 interfaz (WHM >> Inicio >> Software >> EasyApache 4Este paquete es nuestra versión de producción de NGINX. Para obtener información sobre nuestra versión experimental anterior de NGINX, ahora nuestro ea-nginx-standalone paquete, lea nuestro NGINX independiente documentación.

  • Esta característica es no actualmente compatible con El servidor web LiteSpeed.

Este documento explica cómo instalar NGINX con Reverse Proxy en un servidor que ejecuta cPanel & WHM y EasyApache 4. Esta versión de NGINX usa el almacenamiento en caché para entregar contenido más rápidamente.

NGINX es un servidor web de código abierto que también proporciona un proxy inverso, equilibrio de carga y almacenamiento en caché. El NGINX de cPanel & WHM con proxy inverso pasa contenido dinámico a través de un proxy a Apache®.

Requisitos

Para instalar NGINX en su servidor, debe cumplir con los siguientes requisitos:

  • Ejecute EasyApache 4.

  • Poseer root acceso de usuario al servidor.

  • Instala el ea-ruby27-mod_passenger Módulo Apache. Cuando instala el ea-nginx paquete, el sistema instalará este módulo y otros módulos Ruby necesarios si aún no existen.

    Nota:

    • Si su sistema ejecuta CentOS 6, instale el ea-ruby24-mod_passenger Módulo Apache.
    • Phusion Passenger® funciona igual en NGINX y Apache.
  • Instala el mod_remoteip Módulo Apache. Este módulo le permite a Apache registrar la dirección IP correctamente cuando usa NGINX como proxy inverso.

Compatibilidad

NGINX ocupa el lugar de Apache como servidor web principal. La instalación cambiará los puertos predeterminados de Apache y asignará esos números de puerto a NGINX.

Para obtener más información, lea el Cambios en la configuración de NGINX sección siguiente.

Limitaciones

La implementación de cPanel & WHM de NGINX tiene las siguientes limitaciones:

  • Sus peticiones debe use un nombre de dominio para enviar solicitudes al proxy inverso NGINX con almacenamiento en caché. Las solicitudes basadas en direcciones IP pueden provocar un comportamiento inesperado.

  • Si uno de sus dominios coincide con un dominio proxy, el sistema le advertirá que ignorará las entradas duplicadas en conflicto. Este conflicto puede resultar en un comportamiento inesperado.

  • Si utiliza NGINX y ModSecurity® 2, su Reglas de ModSecurity solamente se aplica cuando NGINX envía la solicitud a Apache.

  • Por razones de seguridad, NGINX no servir cualquier archivo con un nombre que comience con .ht.

  • cPanel Optimizar sitio web interfaz (cPanel >> Inicio >> Software >> Optimizar sitio web) voluntad no afectar a NGINX.

  • Si crea un alias, haga cierto que la ubicación de su ruta termina con una barra inclinada (/). Si tu camino lo hace no terminar con un /, entonces tu camino es vulnerable a exploit de recorrido de ruta. Para obtener más información, lea el Avisos de seguridad de NGINX documentación.

Instalar o desinstalar NGINX

Instalar en pc

Para instalar NGINX, use WHM Gerente NGINX interfaz (WHM >> Inicio >> Software >> NGINX Manager).

También puede utilizar la interfaz EasyApache 4 o ejecutar el siguiente comando en la línea de comandos como root usuario:

Desinstalar

Para desinstalar NGINX, use WHM Gerente NGINX interfaz (WHM >> Inicio >> Software >> NGINX Manager).

También puede ejecutar el siguiente comando en la línea de comandos como root usuario:

La instalación de NGINX

Cuando instale la versión de cPanel & WHM de NGINX con Reverse Proxy, el proceso de instalación cambiará la instalación de Apache de su servidor para usar diferentes puertos. NGINX enviará todas las solicitudes a Apache.

Nota:

El proceso solamente cambie sus puertos de Apache si su configuración de Apache usa los puertos predeterminados de 80 y 443.

Cuando instala NGINX, el proceso de instalación instala el ea-ruby27-mod_passenger Módulo Apache. Este módulo es requerido.

Cambios en la configuración de NGINX

Cuando instala NGINX en su servidor, el proceso de instalación realiza varios cambios en su sistema.

En particular, la instalación configura Apache para que ya no actúe como servidor web principal. Debido a esto, la instalación de NGINX creará proxies para Mailman y AutoSSL.

Almacenamiento en caché

NGINX invierte los proxies de Apache y almacena en caché todas las solicitudes de forma predeterminada.

NGINX almacena en caché los datos por usuario. El archivo de caché se almacena en la siguiente ubicación, donde type representa el tipo de almacenamiento en caché y username representa el nombre de usuario:

/var/cache/ea-nginx/proxy/username

NGINX con proxy inverso usa el tipo proxy Para el proxy_pass directiva. Los directorios de caché utilizan 700 permisos, restringidos a los nobody y root usuarios.

Si su aplicación usa GET o HEAD solicitudes de contenido dinámico y no no incluir encabezados de control de caché, el servidor puede devolver respuestas en caché que no no aplicar al usuario.

Para corregir este problema, realice una de las siguientes acciones:

  • Deshabilitar el almacenamiento en caché para el usuario en WHM Gerente NGINX interfaz (WHM >> Inicio >> Software >> NGINX Manager).
  • Modifique su aplicación web para usar los encabezados apropiados para que NGINX no almacene la solicitud en caché.

Claves de caché personalizadas

Puede configurar su caché NGINX para generar cachés separados para diferentes condiciones. Por ejemplo, es posible que desee almacenar en caché las solicitudes móviles y no móviles por separado.

Para configurar su caché para usar cachés separados, establezca el $CACHE_KEY_PREFIX en el /etc/nginx/conf.d/includes-optional/set-CACHE_KEY_PREFIX.conf expediente. Incluimos este archivo de forma predeterminada, con la opción de almacenar en caché las solicitudes móviles comentadas por separado.

Para obtener más información sobre los proxies en NGINX, lea el Proxy NGINX documentación.

Archivos de configuración

El sistema crea el /etc/nginx/conf.d/ea-nginx.conf archivo de configuración.

Configuraciones personalizadas

Advertencia:

  • Hacer no edite cualquiera de los archivos que posee NGINX. Cambiar estos archivos puede resultar en un comportamiento inesperado.

  • Si crea archivos de configuración personalizados, puede cambiar el comportamiento de NGINX de formas no deseadas. Por ejemplo, si su bloque personalizado coincide con el bloque PHP, el servidor puede entregar el código fuente en lugar de PHP.

Si desea personalizar los bloques de servidor para NGINX, cree un archivo de inclusión que termine en .conf en el lugar apropiado. Un bloque de servidor es lo mismo que un host virtual en Apache.

Cada bloque de servidor incluirá el .conf archivos en el /etc/nginx/conf.d/server-includes/ directorio.

Para obtener más información sobre los bloques de servidor, incluidos ejemplos, lea NGINX’s Ejemplos de bloques de servidor documentación.

Nota:

Hacer no usar cpanel- como prefijo para cualquier archivo personalizado que cree.

Configuración global

Coloque cualquier global .conf archivos que crea en el /etc/nginx/conf.d/ directorio.

Si desea ajustar cada bloque de servidor en su servidor, cree su .conf archivo en el /etc/nginx/conf.d/server-includes/ directorio.

Nota:

Asegúrese de que también hace referencia a su .conf archivo con un include directiva en el archivo en el que desea usarlo.

Configuración de usuario

Nota:

En los siguientes ejemplos, username representa el nombre de usuario y domainname representa el nombre de dominio completo.

Este nombre de dominio completamente calificado debe ser uno de los siguientes:

  • El dominio principal del bloque del servidor.

  • El subdominio del bloque de servidor para dominios adicionales y sus subdominios.

  • El subdominio del bloque de servidor para subdominios que no son dominios adicionales.

Para personalizar cada bloque de servidor que posee un usuario, cree su .conf archivo en el siguiente directorio:

/etc/nginx/conf.d/users/username

Para personalizar un bloque de servidor específico para un dominio específico, cree su .conf archivo en el siguiente directorio:

/etc/nginx/conf.d/users/username/domainname/

Configuración de Apache

La instalación de NGINX realiza los siguientes cambios en su configuración de Apache:

  • Cambia el puerto de Apache al primer puerto disponible en 1024. Normalmente será el puerto 81.

  • Cambia el puerto SSL de Apache al primer puerto disponible en 1024. Normalmente será el puerto 444.

    Nota:

    Tus puertos de Apache solamente cambiar si su configuración usa los puertos predeterminados 80 y 443. La instalación ignora los números de puerto personalizados.

  • Agrega lo siguiente a la /etc/nginx/conf.d/ea-nginx.conf expediente:

    1
    2
    3
    4
    5
    6
    
    map $host $CPANEL_APACHE_PROXY_IP {
            default 127.0.0.1;
        }  
    map $host $CPANEL_APACHE_PROXY_PORT {
            default 81;
        }

Acceso a archivos

NGINX hace no servir archivos que comiencen con .ht por defecto. Puede haber otros archivos a los que desee restringir el acceso.

La solución más sencilla es no incluir archivos de acceso restringido en la raíz del documento. Sin embargo, si esto no es posible, también puede restringir explícitamente el acceso a los archivos.

Por ejemplo, si sirve su sitio web desde un repositorio de git, es posible que desee evitar el acceso al sitio .git directorio. Para hacer esto, cree un .conf archivo en la ubicación adecuada y agregue los siguientes comandos a su archivo:

1
2
3
4
5
6
location ~ /.git {
	   deny all;
	   log_not_found off;
	   access_log off;
	   return 404;
   }  

Después de guardar el archivo, vuelva a cargar su servidor para activar el cambio de configuración.

Para obtener más información, lea el Prioridad de ubicación de NGINX documentación.

CloudFlare®

La instalación de NGINX detectará si un dominio usa CloudFlare y configurará el sistema para que funcione correctamente.

El sistema guarda la configuración de CloudFlare en la siguiente ubicación:

/etc/nginx/conf.d/includes-optional/cloudflare.conf

Si sus conexiones seguras no aparecen en el registro SSL, puede cambiar la configuración de SSL en CloudFlare.

Archivos de registro

NGINX rota los registros con el logrotate utilidad. Esto significa que WHM’s Configuración de rotación de registro de cPanel interfaz (WHM >> Inicio >> Configuración de servicio >> Configuración de rotación de registro de cPanel) voluntad no afectar la rotación del registro NGINX. Esta actividad se registrará en sus estadísticas de usuario y programas de ancho de banda.

NGINX utiliza los formatos de registro de Apache predeterminados de cPanel y WHM. Va a no reconocer cualquier formato de registro de Apache personalizado. usted no poder administrar registros de NGINX en cualquier interfaz que muestre específicamente registros de Apache, como WHM Rotación de registros interfaz (WHM >> Inicio >> Configuración del servicio >> Rotación de registros).

Apache hace no registrar cualquier solicitud que NGINX le envíe. Estas solicitudes son solamente registrado por NGINX.

Nota:

  • los /usr/local/cpanel/scripts/runweblogs el guión hace no registros de proceso para NGINX.
  • Las siguientes interfaces hacen no trabajar con NGINX:
    • cPanel Visitantes interfaz (cPanel >> Inicio >> Métricas >> Visitantes)
    • cPanel Errores interfaz (cPanel >> Inicio >> Métricas >> Errores)
    • cPanel Acceso sin procesar interfaz (cPanel >> Inicio >> Métricas >> Acceso sin procesar)

NGINX registra el tráfico de www subdominio a la misma ubicación que nowww subdominios, que duplica el comportamiento de Apache. Por ejemplo, registrará las solicitudes de www.example.com y example.com al /var/log/nginx/domains/example.com expediente.

NGINX usa el mismo bloque de servidor para solicitudes SSL y no SSL. Sin embargo, maneja las solicitudes de manera diferente dependiendo de si usa el registro canalizado o no.

Registro canalizado

NGINX guarda sus archivos de registro en las siguientes ubicaciones, donde domainname representa el nombre de dominio:

  • SSL – /var/log/nginx/domains/domainname-ssl_log
  • No SSL —…

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *