Manual de usuario
Version 1.9 — Rev. 3

# Contexto de servidor de aplicaciones

#### Descripción

Un contexto de servidor de aplicaciones ofrece una forma sencilla de configurar una aplicacion Ruby Rack/Rails, WSGI o Node.js. Para agregar una aplicacion mediante un contexto de servidor de aplicaciones, solo se requiere montar la URL y el directorio raiz de la aplicacion. No hace falta definir una aplicacion externa, agregar un manejador 404 ni configurar reglas de reescritura, etc.

### URI

#### Descripción

Especifica la URI para este contexto.

#### Sintaxis

La URI puede ser una URI simple (que empieza con "/") o una URI de expresion regular compatible con Perl (que empieza con "exp:"). Si una URI simple termina con "/", este contexto incluira todas las sub-URI bajo esta URI. Si el contexto se mapea a un directorio del sistema de archivos, debe agregarse una "/" final.

#### Ver también

Ubicacion

### Ubicacion

#### Descripción

Especifica la ubicacion correspondiente de este contexto en el sistema de archivos.
Valor predeterminado: $DOC_ROOT + URI

#### Sintaxis

Puede ser una ruta absoluta o una ruta relativa a $SERVER_ROOT, $VH_ROOT o $DOC_ROOT. $DOC_ROOT es la ruta relativa predeterminada y puede omitirse.
Si URI es una expresion regular, la subcadena coincidente puede usarse para formar la cadena "Root". La subcadena coincidente puede referenciarse con los valores "$1" - "$9". "$0" y "&" pueden usarse para referenciar toda la cadena coincidente. Ademas, puede establecerse una cadena de consulta agregando "?" seguido de la cadena de consulta. Tenga cuidado. "&" debe escaparse como "\&" en la cadena de consulta.

#### Ejemplo

Una URI simple como /examples/ con Ubicacion establecido en /home/john/web_examples mapeara la solicitud "/examples/foo/bar.html" al archivo "/home/john/web_examples/foo/bar.html".
Para simular mod_userdir de Apache, establezca URI en exp: ^/~([A-Za-z0-9]+)(.*), establezca Ubicacion en /home/$1/public_html$2. Con esta configuracion, una solicitud de URI /~john/foo/bar.html se mapeara al archivo /home/john/public_html/foo/bar.html.

#### Ver también

URI

### Ruta binaria

#### Descripción

La ubicacion del binario de la aplicacion App Server.

### Tipo de aplicacion

#### Descripción

El tipo de aplicacion usado para este contexto. Se admiten Rack/Rails, WSGI o Node.js.

### Archivo de inicio

#### Descripción

La ubicacion del archivo usado para iniciar la aplicacion, relativa al directorio raiz de la aplicacion.
Los nombres predeterminados de archivo de inicio incluyen 'config.ru' para Rack/Rails, 'wsgi.py' y 'passenger_wsgi.py' para WSGI, y 'app.js' para NodeJS.

#### Sintaxis

Ruta relativa al directorio raiz de la aplicacion

### Modo de ejecución

#### Descripción

Especifica el modo en que se ejecutará la aplicación: "Development", "Production" o "Staging". El valor predeterminado es "Production".

#### Sintaxis

Seleccionar de la lista desplegable

### Maximo de conexiones

#### Descripción

Especifica el numero maximo de conexiones concurrentes que pueden establecerse entre el servidor y una aplicacion externa. Este ajuste controla cuantas solicitudes puede procesar simultaneamente una aplicacion externa; sin embargo, el limite real tambien depende de la propia aplicacion externa. Aumentar este valor no ayudara si la aplicacion externa no es lo bastante rapida o no puede escalar a un gran numero de solicitudes concurrentes.

#### Sintaxis

Número entero

#### Consejos

Performance Definir un valor alto no se traduce directamente en mayor rendimiento. Establecer el limite en un valor que no sobrecargue la aplicacion externa proporcionara el mejor rendimiento/throughput.

### Entorno

#### Descripción

Especifica variables de entorno adicionales para la aplicacion externa.

#### Sintaxis

Key=value. Varias variables pueden separarse con "ENTER"

### Habilitar Expires

#### Descripción

Especifica si se debe generar un encabezado Expires para archivos estaticos. Si esta habilitado, se generara un encabezado Expires basado en Expires predeterminado y Expires por tipo.
Puede establecerse a nivel de servidor, virtual host y contexto. Las opciones de nivel inferior reemplazaran las de nivel superior, es decir, las opciones de contexto reemplazaran las de virtual host y las de virtual host reemplazaran las del servidor.

#### Sintaxis

Seleccionar desde botones de opción

### Expires predeterminado

#### Descripción

Especifica la configuracion predeterminada para generar el encabezado Expires. Esta opcion tiene efecto cuando Habilitar Expires se establece en "Yes". Puede ser reemplazada por Expires por tipo. No establezca este valor predeterminado a nivel de servidor o virtual host salvo que sea necesario, ya que generara encabezados Expires para todas las paginas. La mayoria de las veces debe establecerse a nivel de contexto para ciertos directorios que no cambian con frecuencia. Si no hay configuracion predeterminada, no se generara encabezado Expires para tipos no especificados en Expires por tipo.

#### Sintaxis

A|Msegundos
El archivo expirara despues del tiempo base (A|M) mas los segundos especificados. El tiempo base "A" establece el valor al tiempo de acceso del cliente y "M" al tiempo de ultima modificacion del archivo.

### Expires por tipo

#### Descripción

Especifica configuraciones del encabezado Expires para tipos MIME individuales.

#### Sintaxis

Lista separada por comas de "MIME-type=A|Mseconds". El archivo expirara despues del tiempo base (A|M) mas los segundos especificados.
El tiempo base "A" establece el valor al tiempo de acceso del cliente y "M" al tiempo de ultima modificacion del archivo. MIME-type acepta comodin "*", como image/*.

### Operaciones de encabezado

#### Descripción

Especifica encabezados de respuesta/solicitud adicionales que se agregaran. Se pueden agregar varias directivas de encabezado, una por linea. "NONE" puede usarse para deshabilitar la herencia de encabezados padre. Si no se proporciona una directiva, se asume 'Header'.

#### Sintaxis

[Header]|RequestHeader [condition] set|append|merge|add|unset header [value] [early|env=[!]variable]

#### Ejemplo

set Cache-control no-cache
append Cache-control no-store
Header set My-header cust_header_val
RequestHeader set My-req-header cust_req_header_val

#### Consejos

Information La sintaxis y el uso son similares a las directivas mod_headers de Apache para las operaciones admitidas.
Information La directiva 'Header' es opcional y puede excluirse o conservarse al copiar reglas desde otro lugar sin problema.

### Archivos indice

#### Descripción

Especifica los nombres de archivos indice que se buscaran secuencialmente cuando una URL se mapee a un directorio. Puede personalizarlo a nivel de servidor, virtual host y contexto.

#### Sintaxis

Lista separada por comas de nombres de archivo indice.

#### Consejos

Performance Configure solo los archivos indice que necesite.

### Índice automático

#### Descripción

Especifica si se genera un índice de directorio al vuelo cuando los archivos de índice indicados en Archivos indice no están disponibles en un directorio. Esta opción se puede personalizar a nivel de virtual host y de contexto, y se hereda a lo largo del árbol de directorios hasta que se sobrescribe explícitamente. Puede personalizar la página de índice generada. Consulte los How-tos del wiki en línea.

#### Sintaxis

Seleccionar desde botones de opción

#### Consejos

Security Se recomienda desactivar Índice automático siempre que sea posible para evitar revelar datos confidenciales.

#### Ver también

Archivos indice, URI de índice automático

### Realm

#### Descripción

Especifica el realm de autorizacion para este contexto. Cuando se especifica, deben proporcionarse un nombre de usuario y una contrasena validos para acceder a este contexto. Realms de autorizacion se configuran en la seccion Host virtual - Seguridad. Esta opcion usa el Nombre del realm de cada realm.

#### Sintaxis

Seleccionar de la lista desplegable

### Nombre de autenticacion

#### Descripción

Especifica un nombre alternativo para el realm de autorizacion del contexto actual. Si no se especifica, se usara el nombre de realm original. El nombre de autenticacion se muestra en la ventana emergente de login del navegador.

### Require (usuarios/grupos autorizados)

#### Descripción

Especifica que usuario/grupo puede acceder a este contexto. Esto permite usar una base de datos de usuarios/grupos (especificada en Realm) en varios contextos, pero permitir que solo ciertos usuarios/grupos de esa base de datos accedan a este contexto.

#### Sintaxis

La sintaxis es compatible con la directiva Require de Apache. Por ejemplo:

- user username [username ...]
  Solo los usuarios listados pueden acceder a este contexto.
- group groupid [groupid ...]
  Solo los usuarios pertenecientes a los grupos listados pueden acceder a este contexto.

Si esta opcion no se especifica, todos los usuarios validos podran acceder a este recurso.

### Acceso permitido

#### Descripción

Especifica que IPs o subredes pueden acceder a recursos bajo este contexto. Junto con Acceso denegado y el control de acceso a nivel de servidor/virtual host, la accesibilidad se determina por el ambito mas pequeno en el que cae la direccion IP del cliente.

#### Sintaxis

Lista de IPs/subredes separada por comas.

#### Ejemplo

Las subredes pueden escribirse como 192.168.1.0/255.255.255.0, 192.168.1 o 192.168.1.*.

### Acceso denegado

#### Descripción

Especifica que IPs o subredes NO pueden acceder a recursos bajo este contexto. Junto con Acceso permitido y el control de acceso a nivel de servidor/virtual host, la accesibilidad se determina por el ambito mas pequeno en el que cae la direccion IP del cliente.

#### Sintaxis

Lista de IPs/subredes separada por comas.

#### Ejemplo

Las subredes pueden escribirse como 192.168.1.0/255.255.255.0, 192.168.1 o 192.168.1.*.

### Autorizador

#### Descripción

Especifica una aplicacion externa que puede usarse para generar decisiones de autorizado/no autorizado. Actualmente, solo esta disponible FastCGI Authorizer. Para mas detalles sobre el rol FastCGI Authorizer, visite https://fastcgi-archives.github.io/ .

#### Sintaxis

Seleccionar de la lista desplegable

### Habilitar rewrite

#### Descripción

Especifica si se habilita el motor de reescritura de URL de LiteSpeed. Esta opción puede personalizarse a nivel de virtual host o contexto, y se hereda a lo largo del árbol de directorios hasta que se sobrescribe explícitamente.

#### Sintaxis

Seleccionar desde botones de opción

### Heredar rewrite

#### Descripción

Especifica si se deben heredar reglas rewrite de contextos padre. Si rewrite esta habilitado y no se hereda, se usaran la base rewrite y las reglas rewrite definidas en este contexto.

#### Sintaxis

Seleccionar desde botones de opción

### Base rewrite

#### Descripción

Especifica la URL base para las reglas rewrite.

#### Sintaxis

URL

### Reglas de reescritura

#### Descripción

Especifica una lista de reglas de reescritura a nivel de virtual host.
NO agregue aquí reglas de reescritura de nivel de raíz de documentos. Si tiene reglas de reescritura de nivel de raíz de documentos desde .htaccess, debe crear en su lugar un contexto estático con uri "/" y agregar allí las reglas de reescritura.
Una regla de reescritura consta de una directiva RewriteRule y, opcionalmente, puede ir precedida por varias directivas RewriteCond.

- Cada directiva debe ocupar una sola línea.
- RewriteCond y RewriteRule siguen la sintaxis de directivas rewrite de Apache. Simplemente copie y pegue directivas rewrite desde sus archivos de configuración de Apache.
- Hay pequeñas diferencias entre las implementaciones de LiteSpeed y Apache mod_rewrite:
  - %\{LA-U:variable\} y %\{LA-F:variable\} son ignoradas por el motor de reescritura de LiteSpeed
  - Se agregan dos nuevas variables de servidor al motor de reescritura de LiteSpeed: %\{CURRENT_URI\} representa la URI actual que procesa el motor de reescritura y %\{SCRIPT_NAME\} tiene el mismo significado que la variable de entorno CGI correspondiente.
  - El motor de reescritura de LiteSpeed dejará de procesar reglas de reescritura después de encontrar una marca [L] para evitar bucles, mientras que Apache mod_rewrite dejará de procesar reglas de reescritura solo para la iteración actual. Este comportamiento es similar al de la marca [END] en Apache mod_rewrite.

La implementación del motor de reescritura de LiteSpeed sigue las especificaciones del motor de reescritura de Apache. Para más detalles sobre las reglas de reescritura, consulte documentación mod_rewrite de Apache y guía de reescritura de URL de Apache .

#### Sintaxis

cadena

### Agregar charset predeterminado

#### Descripción

Especifica si se debe agregar una etiqueta de juego de caracteres al encabezado de respuesta "Content-Type", cuando el tipo de contenido sea "text/html" o "text/plain" sin parametros. Cuando se establece en Off, esta funcion se deshabilita. Cuando se establece en On, se agregara el juego de caracteres especificado por Charset predeterminado personalizado o el predeterminado "iso-8859-1".

#### Sintaxis

Seleccionar desde botones de opción

### Charset predeterminado personalizado

#### Descripción

Especifica un juego de caracteres que se usara cuando Agregar charset predeterminado este en On. Es opcional. El valor predeterminado es iso-8859-1. Esta entrada no tiene efecto cuando Agregar charset predeterminado esta en Off.

#### Sintaxis

Nombre de un juego de caracteres.

#### Ejemplo

utf-8

### Habilitar busqueda GeoLocation

#### Descripción

Especifica si se debe habilitar/deshabilitar la busqueda de IP Geolocation. Puede establecerse a nivel de servidor, virtual host o contexto. IP Geolocation esta deshabilitada de forma predeterminada cuando se usa el valor "Not Set".

#### Sintaxis

Seleccionar desde botones de opción

#### Ver también

Usar IP de cliente en el encabezado, Ruta del archivo DB,