Configuración de nginx y Apache
Por defecto, Plesk usa el servidor web Apache (http://en.wikipedia.org/wiki/Apache_HTTP_Server) para proporcionar las páginas de su sitio web a los clientes (como navegadores a través de los cuales los visitantes acceden a su sitio web). Con el fin de disfrutar de un mejor rendimiento, Apache se complementa con otro servidor web - nginx.También puede usar únicamente nginx.
La configuración predeterminada del servidor web es especificada por el administrador del servidor (proveedor de hosting). Estas opciones de configuración determinan la forma en la que los servidores web procesan los distintos tipos de archivos, cómo usan SSL/TLS, dónde almacenan los archivos de registro, etc.
De todos modos, usted (como propietario de un sitio web) puede establecer una configuración personalizada para el servidor web para su sitio web. Por ejemplo, añadir un tipo de archivo de índice, restringir el acceso al sitio, etc.
Nota: Puede editar las opciones de configuración del servidor web para sus sitios web si su suscripción de hosting proporciona el permiso correspondiente.
Ajuste de la configuración de nginx y Apache
Apache y nginx presentan determinados parámetros de configuración que pueden personalizarse a nivel de dominio. Estos se encuentran en Sitios web y dominios > nombre del dominio > Configuración de Apache y nginx. Estos parámetros se dividen en dos grupos:
-
Configuración común de Apache
-
configuración nginx
Configuración de tipos MIME
Los tipos MIME emparejan extensiones de archivo con tipos de archivo para que así los navegadores sepan cómo gestionar los distintos tipos de archivos. Por ejemplo, el siguiente tipo MIME
text/plain .txt
indica al navegador que procese todos los archivos .txt
como texto sin formato. Por omisión, los tipos MIME más comunes ya vienen preconfigurados. De todos modos, si cree que las páginas de su sitio web no pueden ser correctamente procesadas por los navegadores porque usa archivos con extensiones que no son estándar, deberá configurar uno o más tipos MIME personalizados.
Para configurar tipos MIME personalizados:
- Vaya a Sitios web y dominios > Configuración de Apache y nginx.
- Debajo de Tipos MIME, seleccione el botón de opción Introduzca un valor personalizado.
- Introduzca o elimine los tipos MIME deseados y haga clic en ACEPTAR.
Configuración de controladores Apache
Los controladores Apache indican al servidor web cómo procesar archivos con determinadas extensiones. Por ejemplo, el siguiente controlador
cgi-script .cgi
indica al servidor web que gestione todos los archivos .cgi
como scripts cgi. Por omisión, los controladores para archivos con extensiones comunes ya vienen preconfigurados. De todos modos, si desea modificar el controlar usado para procesar archivos con una extensión determinada, deberá configurar uno o más controladores personalizados.
Para configurar controladores personalizados:
- Vaya a Sitios web y dominios > Configuración de Apache y nginx.
- Debajo de Controladores, seleccione el botón de opción Introduzca un valor personalizado.
- Introduzca o elimine los controladores deseados y haga clic en ACEPTAR.
Denegación de acceso al sitio web
Usted puede denegar el acceso de determinados visitantes a su sitio web. Puede denegarlo a:
- Direcciones IP individuales (como por ejemplo
192.168.1.110
) - Subredes de direcciones IP (como por ejemplo
127.0.0.1/8
) - Nombres de host específicos (como por ejemplo
example.com
) - Todos (usando el carácter «
*
»)
Cuando los visitantes bloqueados intenten acceder a su sitio, estos obtendrán un mensaje de error «403 Forbidden».
Para configurar el acceso a su sitio web:
- Vaya a Sitios web y dominios > Configuración de Apache y nginx.
- Debajo de Denegar acceso al sitio, seleccione el botón de opción Introduzca un valor personalizado.
- Indique o elimine las direcciones IP, subredes o nombres de host deseados.
- Si bloqueó una subred pero desea que algunas direcciones IP pertenecientes a esta puedan acceder a su sitio web, indíquelas en el campo A excepción de.
- Haga clic en ACEPTAR.
Configuración de archivos de índice
Cuando un visitante de su sitio navega a una URL que solicita un directorio en vez de un archivo específico (por ejemplo, www.example.com
o www.example.com/example
en vez de www.example.com/index.html
), Apache busque un archivo de índice para mostrar. Por omisión, Apache busca los siguientes archivos (en el orden especificado):
index.html
index.cgi
index.pl
index.php
index.xhtml
Index.htm
index.shtml
Si todos los siete archivos estuvieran presentes en un directorio, el visitante debería obtener el archivo index.html
. De no encontrarse index.html
, Apache buscará el archivo index.cgi
, etc. De no encontrarse ningún archivo de índice apropiado, por omisión se obtendrá un error «403 Forbidden».
Plesk le permite personalizar los archivos de indique que buscará Apache cuando un visitante examine un directorio de su sitio web:
- Puede cambiar el orden en que Apache busca archivos de índice (por ejemplo, puede que desee que de forma predeterminada muestre el archivo
index.php
en vez del archivoindex.html
). - Puede añadir nombres de archivos de índice a la lista o eliminar nombres (por ejemplo, si la página predeterminada de su sitio web se denomina
hello.php
, puede hacer que Apache la sirva por omisión).
Para configurar los archivos de índice:
- Vaya a Sitios web y dominios > Configuración de Apache y nginx.
- Debajo de Archivos de índice, seleccione el botón de opción Introduzca un valor personalizado.
- Indique o elimine los nombres de archivos de índice deseados donde Apache debería buscarlos y haga clic en ACEPTAR.
Configuración del encabezado «Expires»
El encabezado expires
de Apache rige durante cuánto tiempo los navegadores conservan copias en caché de su contenido web antes de volverlo a solicitar al servidor. La configuración de este encabezado puede reducir la carga del servidor y hacer que el sitio web reaccione de forma más rápida.
Por ejemplo, puede establecer el periodo de expiración a 10 días. Un visitante examina su sitio web, solicitando su página index.html
. El navegador del visitante almacena una copia de la página en su caché y durante los próximos 10 días, cada vez que el visitante visite su sitio, se servirá la copia en caché. Al cabo de estos 10 días, si se vuelve a solicitar la página, el navegador volverá a solicitar la página al servidor, ya que la copia que este almacenaba en la caché ya habrá expirado.
Cuando se configura el encabezado expires
para sitios web con contenido dinámico, se recomienda activar la opción responder con encabezados Expires sólo en el caso de archivos estáticos . De lo contrario, todo el contenido (incluyendo el contenido dinámico) se almacenará en la caché del navegador de los visitantes durante el periodo de expiración. Esta situación no es nada recomendable, puesto que normalmente el contenido dinámico se actualizada con frecuencia.
Para configurar el encabezado «Expires»:
- Vaya a Sitios web y dominios > Configuración de Apache y nginx.
- Debajo de Expires, seleccione el botón de opción Introduzca un valor personalizado.
- Especifique el periodo de expiración deseado. Tenga en cuenta que la duración recomendada es de 14 días.
- Si su sitio web presenta contenido dinámico, compruebe que selecciona la casilla responder con encabezados Expires sólo en el caso de archivos estáticos.
- Haga clic en ACEPTAR.
Nota: Si ha activado nginx, los únicos archivos que presentarán este encabezado serán aquellos servidos por Apache. Si se selecciona la casilla Procesamiento inteligente de archivos estáticos, serán las configuraciones predeterminadas de nginx y Apache las que determinen os archivos que se gestionarán como estáticos. Si se selecciona la casilla Servir archivos estáticos directamente mediante nginx y se indica alguna extensión de archivo, nginx sólo servirá los archivos con las extensiones especificadas.
Configuración de encabezados adicionales
Puede configurar otros encabezados para respuestas HTTP conforme al siguiente patrón:
Name : Value
Los encabezados de respuesta HTTP contienen información sobre la página solicitada para que los navegadores web sepan cómo realizar varias acciones. Por ejemplo, el siguiente encabezado protegerá a los visitantes de su sitio web frente posibles acciones de clickjacking:
X-Frame-Options: DENY
Para configurar encabezados adicionales:
- Vaya a Sitios web y dominios > Configuración de Apache y nginx.
- Debajo de Encabezados adicionales, seleccione el botón de opción Introduzca un valor personalizado.
- Indique o elimine los encabezados deseados y haga clic en ACEPTAR.
Limitación de la habilidad para seguir enlaces simbólicos
Por omisión, Apache puede seguir enlaces simbólicos. Si su sitio web no usa este tipo de enlaces, le recomendamos desactivar esta opción, puesto que presenta un riesgo de seguridad menor.
Para que Apache no pueda seguir enlaces simbólicos:
- Vaya a Sitios web y dominios > Configuración de Apache y nginx.
- Seleccione la casilla Limitar la habilidad para seguir enlaces simbólicos y haga clic en ACEPTAR.
Hosting sólo con nginx
En Plesk para Linux puede alojar sitios web usando una combinación de nginx y PHP-FPM. En este caso, las peticiones a los sitios web no se pasarán a Apache, sino que serán servidas directamente por nginx. El hosting sólo con nginx es una buena opción en el caso de sitios web PHP, si bien también es adecuada en el caso de alojar sitios web estáticos y servidores de aplicaciones. Puede configurar sitios web individuales para que sólo sean servidos por nginx sin detener ni desactivar Apache, lo cual no afectará a los sitios web alojados con Apache.
Nota: Los servicios de Plesk, como por ejemplo el correo web, seguirán funcionando con Apache y no se verán afectados por el cambio a hosting sólo con nginx.
Para activar o desactivar el hosting sólo con nginx para un dominio:
- Vaya a Sitios web y dominios > Configuración de Apache y nginx.
- En la sección configuración de nginx, deseleccione la casilla Modo proxy .
- Haga clic en Aplicar.
Para revertir un dominio a hosting con Apache+nginx, seleccione la casilla Modo proxy.
Limitaciones conocidas
Cuando se cambia un dominio a hosting sólo con nginx, debe tener en cuenta las siguientes limitaciones:
- No dispondrá de soporte de SSI, Perl y Python.
- Sólo puede usar el controlador de «FPM application server by nginx» de PHP.
Configuración del procesamiento de archivos estáticos
Por omisión, en servidores Plesk para Linux, nginx y Apache funcionan en tándem, por lo que Apache sirve contenido dinámico y nginx se usa como proxy para servir contenido estático. Este esquema optimiza el uso de los recursos del servidor, además de permitir a Plesk servir peticiones a los sitios web alojados de forma más rápida. De todos modos, Plesk le permite escoger cómo gestionar el contenido estático para sus sitios web.
Servir todo el contenido estático mediante nginx
Se trata del comportamiento predeterminado de Plesk. Cuando se recibe una petición de contenido estático, Apache sólo indica la ubicación del archivo en cuestión y nginx lo encuentra y lo sirve.
Para servir todo el contenido estático mediante nginx:
- Vaya a Sitios web y dominios > Configuración de Apache y nginx y desplácese hasta la sección «configuración de nginx».
- Seleccione las casillas Modo proxy y Procesamiento inteligente de archivos estáticos.
- Compruebe que no se ha seleccionado la casilla Servir archivos estáticos directamente mediante nginx.
- Haga clic en ACEPTAR.
Servir únicamente archivos con determinadas extensiones mediante nginx
Si lo desea, puede hacer que nginx sólo sirva como contenido estático archivos con determinadas extensiones. Los demás archivos generalmente clasificados como contenido estático son servidos por Apache. Es importante tener en cuenta que en este caso las peticiones de archivos con las extensiones especificadas nunca llegaran a Apache. Por este motivo, estas no son analizadas por los controladores de Apache. Esto significa que, por ejemplo, no se aplicaran reglas de reescritura o directivas .htaccess
.
Para servir únicamente contenido estático específico mediante nginx:
- Vaya a Sitios web y dominios > Configuración de Apache y nginx y desplácese hasta la sección «configuración de nginx».
- Seleccione las casillas Modo proxy y Servir archivos estáticos directamente mediante nginx.
- Por omisión, algunas extensiones de archivos estáticos ya vienen preconfiguradas en la casilla Servir archivos estáticos directamente mediante nginx. Puede añadir o eliminar extensiones cuando así lo necesite. Separe las extensiones de archivo usando un espacio en blanco o el carácter «|».
- Haga clic en ACEPTAR.
Nota: De activar la opción “Servir archivos estáticos directamente mediante nginx”, el modo “Procesamiento inteligente de archivos estáticos” se desactivará de forma automática, incluso en el caso de que esta última casilla permanezca seleccionada.
Servir todo el contenido estático y dinámico mediante Apache
Si lo desea, puede desactivar nginx y configurar Apache para servir todo el contenido, tanto el estático como el dinámico. Esto puede resultar útil en varios escenarios, como por ejemplo en el caso de resolución de problemas de nginx. En el caso de sitios web de producción, no se recomienda usar Apache para la gestión de todo el contenido.
Para servir todo el contenido estático y dinámico mediante Apache:
- Vaya a Sitios web y dominios > Configuración de Apache y nginx y desplácese hasta la sección «configuración de nginx».
- Seleccione la casilla «Modo proxy».
- Deseleccione las casillas «Procesamiento inteligente de archivos estáticos» y «Servir archivos estáticos directamente mediante nginx».
- Haga clic en ACEPTAR.
Activación de la copia en caché de nginx
La activación de la copia en caché de nginx permite al servidor proxy nginx copiar en caché determinados contenidos dinámicos de un sitio web. Los datos copiados se almacenan durante un breve periodo de tiempo, generalmente no más de unos segundos. De esta forma el sitio web se carga más rápido, además de reducirse la carga del servidor.
La activación de la copia en caché de nginx es recomendable únicamente en el caso de sitios web de un perfil determinado, como puede ser el caso de blogs o sitios web de noticias:
- Tráfico elevado.
- El contenido se actualiza cada pocos segundos.
La activación puede no ser útil o incluso resultar perjudicial en el caso de los siguientes tipos de sitios web:
- Tráfico bajo o moderado.
- El contenido se actualiza al cabo de más de unos segundos.
- Se utiliza contenido personalizado, como por ejemplo la ubicación del visitante o bien el contenido de su carrito de la compra.
Para activar la copia en caché de nginx:
- Vaya a Sitios web y dominios > Configuración de Apache y nginx.
- En la sección “Configuración de nginx”, seleccione la casilla “Activar copia en caché de nginx”.
- (Opcional) Puede personalizar la configuración de la copia en caché de nginx. Si no está familiarizado con la copia en caché de nginx, le recomendamos conservar la configuración predeterminado. La configuración incorrecta de estas opciones puede afectar negativamente al rendimiento del servidor y del sitio web.
- Haga clic en ACEPTAR.
Configuración de copia en caché de nginx
La configuración de copia en caché de nginx que se muestra en la interfaz de Plesk corresponde a las directivas de nginx y a determinados registros en el archivo de configuración de nginx. En la tabla que aparece a continuación le mostramos toda la información al respecto.
Parámetro de micro caché de nginx mostrado en el GUI de Plesk | La directiva correspondiente de nginx | El parámetro correspondiente de nginx (de existir) |
---|---|---|
“Tamaño de la caché“ | proxy_cache_path | max_size |
«Tiempo de espera de caché» | proxy_cache_valid | |
«Clave de caché» | proxy_cache_key | |
«Peticiones de la caché con cookies» | Especificado en el archivo de configuración de nginx | |
«Desactivar copia en caché para ubicaciones» | Especificado en el archivo de configuración de nginx | |
«Omitir caché cuando» | proxy_cache_bypass | |
«Devolver registros de estado copiados en caché» | proxy_cache_use_stale |
Nota: En el caso de sitios web que usen nginx en tándem con el controlador PHP-FPM, las directivas proxy_cache*
son reemplazadas por fastcgi_cache*
. Por ejemplo, el parámetro “Clave de caché“ es regido por la directiva fastcgi_cache_key
, en vez de regirse por la directiva proxy_cache_key
.
Parámetro «Peticiones de la caché con cookies»
Por omisión, nginx no copia en caché las peticiones HTTP que contienen el encabezado Cookie HTTP . Si desea cambiar este comportamiento para que nginx copie en caché las peticiones HTTP que contengan determinadas cookies, especifique los nombres de las cookies en el campo “Peticiones de la caché con cookies”. Por ejemplo, si especifica los nombres de cookies _ga
y _gid
, nginx únicamente copiará en caché las peticiones HTTP con encabezados de cookie que contengan _ga o _gid
. nginx no copiará en caché aquellas peticiones HTTP con encabezados de cookie que contengan al menos una cookie no especificada en el campo.
Parámetro «Desactivar copia en caché para ubicaciones»
Puede reducir la carga del servidor configurando nginx para que no copie en caché determinado contenido web, como por ejemplo el contenido dinámico, que no suele ser visualizado con demasiada frecuencia. Para ello, especifique el $request_uri deseado en el campo «Desactivar copia en caché para ubicaciones». Por ejemplo, si especifica /wp-admin/,
nginx no copiará en caché el contenido relacionado con el panel admin de WordPress.
Nota: Si desea especificar varios valores en los campos «Desactivar copia en caché para ubicaciones» y «Peticiones de la caché con cookies», indique cada valor en una línea distinta.
Borrado de la caché de nginx
La opción «Tiempo de espera de caché» en Plesk indica durante cuánto tiempo nginx guarda elementos en la caché antes de eliminarlos automáticamente. Si desea que un sitio web se cargue más rápido, puede aumentar este valor de forma significativa (hasta horas y días). De todos modos, esto puede resultar contraproducente cuando esté desarrollando el sitio we de forma activa, puesto que en este caso debe ver la versión actualizada del sitio web con más frecuencia y bajo demanda. Para poder hacerlo sin cambiar el valor de «Tiempo de espera de caché», borre la caché de nginx de forma manual.
Para borrar la caché de nginx de un sitio web:
- Vaya a Sitios web y dominios > dominio > pestaña «Hosting y DNS» > Configuración de Apache y nginx.
- En la sección «configuración nginx», debajo del «Activar copia en caché nginx» seleccionado, haga clic en Vaciar caché.
El valor predeterminado de la configuración del servidor
Puede establecer el valor de cada uno de los parámetros de configuración introduciendo un valor predeterminado o bien dejando el valor Predeterminado. En este último caso, Plesk usa los valores de la configuración de servidor web predeterminada que definió el administrador del servidor (proveedor de hosting).
Sus valores invalidarán los valores predeterminados. La única excepción es la opción Denegar acceso al sitio. En este caso, en su sitio web se aplicarán las direcciones IP de la configuración predeterminada y las direcciones IP especificadas por usted. En el caso de un conflicto – como por ejemplo cuando permite la dirección IP denegada en la configuración predeterminada –, Apache usa su configuración.