Manual de usuario de OpenLiteSpeed - Contexto CGI
Description: Manual de usuario de OpenLiteSpeed - Contexto CGI.

Manual de usuario
Version 1.9 — Rev. 4

# Contexto CGI

#### Descripción

Un contexto CGI define los scripts de un directorio determinado como scripts CGI. Este directorio puede estar dentro o fuera de la raiz de documentos. Cuando se solicita un archivo de este directorio, el servidor siempre intentara ejecutarlo como script CGI, sea ejecutable o no. De esta forma, el contenido de los archivos bajo un contexto CGI siempre queda protegido y no puede leerse como contenido estatico. Se recomienda colocar todos los scripts CGI en un directorio y configurar un contexto CGI para acceder a ellos.

### 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

Ubicación

### Ruta

#### Descripción

Especifica la ubicacion de los scripts CGI.

#### Sintaxis

La ruta puede ser un directorio que contiene un grupo de scripts CGI, como $VH_ROOT/myapp/cgi-bin/. En este caso, el contexto URI debe terminar con "/", como /app1/cgi/. La Ruta tambien puede especificar un solo script CGI, como $VH_ROOT/myapp/myscript.pl. Este script debe tener el URI correspondiente /myapp/myscript.pl.

### 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

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

### Permitir Set UID

#### Descripción

Especifica si se permite el bit set UID para scripts CGI. Si el bit set UID esta permitido y habilitado para un script CGI, sin importar en nombre de que usuario se inicio el script CGI, el ID de usuario del proceso CGI cambiara al ID de usuario del propietario del script CGI.
El valor predeterminado es "Off".

#### Sintaxis

Seleccionar desde botones de opción

#### Consejos

Seguridad No permita scripts CGI Set UID siempre que sea posible, ya que es inherentemente un riesgo de seguridad.

### 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 autorización 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 autenticación

#### 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

### Agregar conjunto de caracteres 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 Apagado, esta funcion se deshabilita. Cuando se establece en Encendido, 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 conjunto de caracteres predeterminado este en Encendido. Es opcional. El valor predeterminado es iso-8859-1. Esta entrada no tiene efecto cuando Agregar conjunto de caracteres predeterminado esta en Apagado.

#### Sintaxis

Nombre de un juego de caracteres.

#### Ejemplo

utf-8

### Habilitar reescritura

#### 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 reescritura

#### 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 de reescritura

#### 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

### Habilitar búsqueda de geolocalización

#### 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,