NGINX® con proxy inverso
Válido para la versión 94
Última modificación: 12 de agosto de 2021
Visión general
Nota:
Este documento hace referencia a la funcionalidad NGINX® cuando instala el
ea-nginx
paquete en WHM’s EasyApache 4 interfaz (WHM >> Inicio >> Software >> EasyApache 4). Este paquete es nuestra versión de producción de NGINX. Para obtener información sobre nuestra versión experimental anterior de NGINX, ahora nuestroea-nginx-standalone
paquete, lea nuestro NGINX independiente documentación.Esta característica es no actualmente compatible con 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 elea-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.
- Si su sistema ejecuta CentOS 6, instale el
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 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, utilice la interfaz EasyApache 4 o ejecute el siguiente comando en la línea de comandos como root
usuario:
Desinstalar
Para desinstalar NGINX, ejecute el siguiente comando en la línea de comandos como el 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.
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.
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 puerto81
.Cambia el puerto SSL de Apache al primer puerto disponible en
1024
. Normalmente será el puerto444
.Nota:
Tus puertos de Apache solamente cambiar si su configuración usa los puertos predeterminados
80
y443
. 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:
|
|
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 –
/var/log/nginx/domains/domainname
- Banda ancha –
/var/log/nginx/domains/domainname-bytes_log
NGINX también registra las solicitudes en la siguiente ubicación:
/var/log/nginx/access.log
Registro regular
Sin el registro canalizado, las solicitudes SSL y no SSL se guardan en la misma ubicación. NGINX guarda sus archivos de registro en las siguientes ubicaciones, donde domainname
representa el nombre de dominio:
- SSL y no SSL –
/var/log/nginx/domains/domainname
Nota:
Estos archivos también contendrán una columna adicional al principio, en
domainname:port
formato. - Banda ancha –
/var/log/nginx/domains/domainname-bytes_log
Ejecute NGINX
Para detener o reiniciar NGINX, use el /usr/local/cpanel/scripts/restartsrv_nginx
texto.
Nosotros fuertemente te recomiendo solamente utilizar el script de cPanel o WHM Supervisor interfaz (WHM >> Inicio >> Configuración del servicio >> Administrador de servicio) para reiniciar NGINX.
Para usar los comandos de reinicio en CentOS 7 para reiniciar NGINX, debe debe utilizar el reload
opción. Esta opción asegura un reinicio elegante:
systemctl reload nginx.service
Para obtener más información, lea nuestro Cómo reiniciar los servicios documentación.
Configurar un usuario
El sistema integra NGINX en sus cambios de usuario y dominio.
El sistema utiliza el /usr/local/cpanel/scripts/ea-nginx script
para realizar estos cambios. Tú haces no Necesito ejecutar este script.
El sistema crea el .conf
archivo en el …