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.
Nota: la prestación de encabezado «Expires» requiere que mod_expires
esté activado en Apache.
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 la prestación de compartición de archivos.
- 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.
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.