uWSGI#
Permite pasar solicitudes a un servidor uWSGI. Hace que las conexiones salientes a un servidor uWSGI se originen desde la dirección IP local especificada con un puerto opcional. El valor del parámetro puede contener variables. El valor especial El parámetro Para que este parámetro funcione, normalmente es necesario ejecutar los procesos de trabajo de Angie con los privilegios de superusuario. En Linux no es necesario, ya que si se especifica el parámetro Nota Es necesario configurar la tabla de enrutamiento del kernel para interceptar el tráfico de red desde el servidor uWSGI. Establece el tamaño del búfer utilizado para leer la primera parte de la respuesta recibida del servidor uWSGI. Esta parte generalmente contiene una pequeña cabecera de respuesta. Por defecto, el tamaño del búfer es igual a una página de memoria. Esto es 4K u 8K, dependiendo de la plataforma. Sin embargo, puede hacerse más pequeño. Habilita o deshabilita el almacenamiento en búfer de las respuestas del servidor uWSGI. Angie recibe una respuesta del servidor uWSGI lo antes posible, guardándola en los búferes establecidos por las directivas uwsgi_buffer_size y uwsgi_buffers. Si toda la respuesta no cabe en la memoria, una parte de ella puede guardarse en un archivo temporal en el disco. La escritura en archivos temporales está controlada por las directivas uwsgi_max_temp_file_size y uwsgi_temp_file_write_size. La respuesta se pasa al cliente de forma sincrónica, inmediatamente cuando se recibe. Angie no intentará leer toda la respuesta del servidor uWSGI. El tamaño máximo de los datos que Angie puede recibir del servidor a la vez está establecido por la directiva uwsgi_buffer_size. El almacenamiento en búfer también se puede habilitar o deshabilitar pasando "yes" o "no" en el campo de cabecera de respuesta Predeterminado http, server, location Establece el número y tamaño de los búferes utilizados para leer una respuesta del servidor uWSGI, para una sola conexión. Por defecto, el tamaño del búfer es igual a una página de memoria. Esto es 4K u 8K, dependiendo de la plataforma. Predeterminado http, server, location Cuando el almacenamiento en búfer de respuestas del servidor uWSGI está habilitado, limita el tamaño total de búferes que pueden estar ocupados enviando una respuesta al cliente mientras la respuesta aún no se ha leído completamente. Mientras tanto, el resto de los búferes se pueden usar para leer la respuesta y, si es necesario, almacenar parte de la respuesta en un archivo temporal. Por defecto, el tamaño está limitado por el tamaño de dos búferes establecidos por las directivas uwsgi_buffer_size y uwsgi_buffers. Define una zona de memoria compartida utilizada para el almacenamiento en caché. La misma zona puede utilizarse en varios lugares. El valor del parámetro puede contener variables. deshabilita el almacenamiento en caché heredado del nivel de configuración anterior. Predeterminado http, server, location Permite iniciar una subpetición en segundo plano para actualizar un elemento de caché caducado, mientras se devuelve al cliente una respuesta en caché obsoleta. Advertencia Tenga en cuenta que es necesario permitir el uso de una respuesta en caché obsoleta cuando se está actualizando. Define las condiciones bajo las cuales la respuesta no se tomará de una caché. Si al menos un valor de los parámetros de cadena no está vacío y no es igual a "0" entonces la respuesta no se tomará de la caché: Se puede usar junto con la directiva uwsgi_no_cache. Define una clave para el almacenamiento en caché, por ejemplo Cuando está habilitado, solo se permitirá una solicitud a la vez para poblar un nuevo elemento de caché identificado según la directiva uwsgi_cache_key pasando una solicitud a un servidor uWSGI. Otras solicitudes del mismo elemento de caché esperarán a que aparezca una respuesta en la caché o a que se libere el bloqueo de caché para este elemento, hasta el tiempo establecido por la directiva uwsgi_cache_lock_timeout. Predeterminado http, server, location Si la última solicitud pasada al servidor uWSGI para poblar un nuevo elemento de caché no se ha completado durante el tiempo especificado, se puede pasar una solicitud más al servidor uWSGI. Predeterminado http, server, location Establece un tiempo de espera para uwsgi_cache_lock. Cuando el tiempo expira, la solicitud se pasará al servidor uWSGI, sin embargo, la respuesta no se almacenará en caché. Establece un desplazamiento en bytes para las peticiones de rango de bytes. Si el rango está más allá del desplazamiento, la petición de rango se pasará al servidor uWSGI y la respuesta no se almacenará en caché. Predeterminado http, server, location Si el método de solicitud del cliente está listado en esta directiva, entonces la respuesta se almacenará en caché. Los métodos "GET" y "HEAD" siempre se añaden a la lista, aunque se recomienda especificarlos explícitamente. Véase también la directiva uwsgi_no_cache. Predeterminado http, server, location Establece el número de peticiones después de las cuales la respuesta se almacenará en caché. Predeterminado — http Establece la ruta y otros parámetros de una caché. Los datos de la caché se almacenan en archivos. El nombre del archivo en una caché es el resultado de aplicar la función MD5 a la clave de caché. El parámetro los nombres de archivo en una caché se verán así: Una respuesta almacenada en caché se escribe primero en un archivo temporal, y luego el archivo se renombra. Los archivos temporales y la caché pueden colocarse en diferentes sistemas de archivos. Sin embargo, tenga en cuenta que en este caso un archivo se copia a través de dos sistemas de archivos en lugar de la operación económica de renombrado. Por lo tanto, se recomienda que para cualquier ubicación dada tanto la caché como el directorio que contiene los archivos temporales se coloquen en el mismo sistema de archivos. El directorio para archivos temporales se establece en función del parámetro Si este parámetro se omite o se establece en el valor on, se utilizará el directorio establecido por la directiva uwsgi_temp_path para la ubicación dada. Los archivos temporales se colocarán directamente en el directorio de caché. Además, todas las claves activas y la información sobre los datos se almacenan en una zona de memoria compartida, cuyo nombre y tamaño se configuran mediante el parámetro Los datos almacenados en caché que no se acceden durante el tiempo especificado por el parámetro Por defecto, Un proceso especial de administrador de caché monitoriza el tamaño máximo de la caché y la cantidad mínima de espacio libre en el sistema de archivos con caché, y cuando se excede el tamaño o no hay suficiente espacio libre, elimina los datos menos utilizados recientemente. Los datos se eliminan en iteraciones. valor umbral máximo para el tamaño de la caché valor umbral mínimo para el espacio libre en el sistema de archivos con caché número máximo de elementos de caché eliminados en una iteración Predeterminado: limita el tiempo de una iteración Predeterminado: tiempo durante el cual se mantiene una pausa entre iteraciones Predeterminado: Un minuto después de que Angie se inicia, se activa un proceso especial de cargador de caché, que carga en la zona de caché la información sobre los datos previamente almacenados en caché en el sistema de archivos. La carga también ocurre en iteraciones. número máximo de elementos de caché para cargar en una iteración Predeterminado: limita el tiempo de una iteración Predeterminado: tiempo durante el cual se mantiene una pausa entre iteraciones Predeterminado: Predeterminado http, server, location Habilita la revalidación de elementos de caché expirados utilizando solicitudes condicionales con los campos de cabecera Predeterminado http, server, location Determina en qué casos se puede utilizar una respuesta en caché obsoleta. Los parámetros de la directiva coinciden con los parámetros de la directiva uwsgi_next_upstream. Permite usar una respuesta en caché obsoleta si no se puede seleccionar un servidor uwsgi para procesar una solicitud. Parámetro adicional, permite usar una respuesta en caché obsoleta si actualmente se está actualizando. Esto permite minimizar el número de accesos a servidores uwsgi al actualizar datos en caché. El uso de una respuesta en caché obsoleta también se puede habilitar directamente en la cabecera de respuesta durante un número específico de segundos después de que la respuesta se volvió obsoleta: La extensión stale-while-revalidate del campo de cabecera La extensión stale-if-error del campo de cabecera Nota Este método tiene menor prioridad que establecer los parámetros de la directiva. Para minimizar el número de accesos a los servidores uwsgi al poblar un nuevo elemento de caché, se puede utilizar la directiva uwsgi_cache_lock. Establece el tiempo de almacenamiento en caché para diferentes códigos de respuesta. Por ejemplo, las siguientes directivas establecen 10 minutos de caché para respuestas con códigos 200 y 302 y 1 minuto para respuestas con código 404. Si solo se especifica el tiempo de caché, entonces solo se almacenan en caché las respuestas 200, 301 y 302. Además, cualquier respuesta puede almacenarse en caché utilizando el parámetro Nota Los parámetros de caché también pueden establecerse directamente en la cabecera de respuesta. Este método tiene mayor prioridad que establecer el tiempo de caché usando la directiva. El campo de cabecera Si la cabecera no incluye el campo Una respuesta con el campo de cabecera Una respuesta con el campo de cabecera El procesamiento de uno o más de estos campos de cabecera puede deshabilitarse usando la directiva uwsgi_ignore_headers. Predeterminado http, server, location Define un tiempo de espera para establecer una conexión con un servidor uwsgi. Cabe destacar que este tiempo de espera normalmente no puede exceder los 75 segundos. Predeterminado http, server, location Configura la terminación de todas las conexiones al servidor proxy si ha sido eliminado del grupo o marcado como permanentemente no disponible como resultado de un proceso reresolve o comando API Una conexión se termina cuando se procesa el siguiente evento de lectura o escritura para el cliente o el servidor proxy. Establecer time habilita un tiempo de espera para la terminación de la conexión;
con Predeterminado http, server, location Habilita el soporte de rangos de bytes para respuestas almacenadas en caché y no almacenadas en caché desde un servidor uwsgi, independientemente de la presencia del campo Por defecto, Angie no pasa los campos de cabecera Predeterminado http, server, location Determina si la conexión con un servidor uwsgi debe cerrarse cuando un cliente cierra la conexión sin esperar una respuesta. Deshabilita el procesamiento de ciertos campos de cabecera de respuesta del servidor uwsgi. Los siguientes campos pueden ser ignorados: Si no se deshabilitan, el procesamiento de estos campos de cabecera tiene el siguiente efecto: Predeterminado http, server, location Determina si las respuestas del servidor uwsgi con códigos mayores o iguales a 300 deben pasarse a un cliente o ser interceptadas y redirigidas a Angie para su procesamiento con la directiva error_page. Limita la velocidad de lectura de la respuesta desde el servidor uwsgi.
La velocidad se especifica en bytes por segundo; se pueden usar variables. desactiva la limitación de velocidad Nota El límite se establece por solicitud, por lo que si Angie abre simultáneamente dos conexiones al servidor uwsgi, la velocidad general será el doble del límite especificado. La limitación funciona solo si el almacenamiento en búfer de respuestas del servidor uwsgi está habilitado. Predeterminado http, server, location Cuando el almacenamiento en búfer de respuestas del servidor uwsgi está habilitado, y toda la respuesta no cabe en los búferes establecidos por las directivas uwsgi_buffer_size y uwsgi_buffers, una parte de la respuesta puede guardarse en un archivo temporal. Esta directiva establece el tamaño máximo del archivo temporal. El tamaño de los datos escritos en el archivo temporal a la vez se establece mediante la directiva uwsgi_temp_file_write_size. deshabilita el almacenamiento en búfer de respuestas a archivos temporales Nota Esta restricción no se aplica a las respuestas que serán almacenadas en caché o guardadas en disco. Establece el valor del campo modifier1 en la cabecera del paquete uwsgi. Establece el valor del campo modifier2 en la cabecera del paquete uwsgi. Predeterminado http, server, location Especifica en qué casos una solicitud debe pasarse al siguiente servidor en el grupo upstream: ocurrió un error de conexión, error de transmisión de solicitud o error de lectura de cabecera de respuesta; se produjo un tiempo de espera durante el establecimiento de la conexión, la transmisión de la solicitud o la lectura de la cabecera de respuesta; el servidor devolvió una respuesta vacía o inválida; el servidor devolvió una respuesta con código 500; el servidor devolvió una respuesta con código 503; el servidor devolvió una respuesta con código 403; el servidor devolvió una respuesta con código 404; el servidor devolvió una respuesta con código 429; normalmente, las solicitudes con métodos no idempotentes ( desactiva el paso de la solicitud al siguiente servidor. Nota Debe entenderse que pasar una solicitud al siguiente servidor solo es posible si aún no se ha enviado nada al cliente. Es decir, si ocurre un error o tiempo de espera en medio de la transmisión de una respuesta, no es posible solucionarlo. La directiva también define qué se considera un intento fallido de comunicación con un servidor. siempre se consideran intentos fallidos, incluso si no se especifican en la directiva se consideran intentos fallidos solo si se especifican en la directiva nunca se consideran intentos fallidos El paso de una solicitud al siguiente servidor puede estar limitado por el número de intentos y por el tiempo. Predeterminado http, server, location Limita el tiempo durante el cual una solicitud puede ser pasada al siguiente servidor. desactiva esta limitación Predeterminado http, server, location Limita el número de intentos posibles para pasar una solicitud al siguiente servidor. desactiva esta limitación Define las condiciones bajo las cuales la respuesta no se guardará en caché. Si al menos uno de los valores de los parámetros de cadena no está vacío y no es igual a "0", entonces la respuesta no se guardará: Se puede usar junto con la directiva uwsgi_cache_bypass. Establece un parámetro que debe pasarse al servidor uwsgi. El valor puede contener texto, variables y su combinación. Estas directivas se heredan del nivel de configuración anterior si y solo si no hay directivas Las variables de entorno CGI estándar deben proporcionarse como cabeceras uwsgi, consulte el archivo Si la directiva se especifica con Establece el protocolo y la dirección de un servidor uwsgi. Como protocolo, se puede especificar o como una ruta de socket de dominio UNIX: Si un nombre de dominio se resuelve a varias direcciones, todas se usarán de manera round-robin. Además, una dirección se puede especificar como un grupo de servidores. El valor del parámetro puede contener variables. En este caso, si una dirección se especifica como un nombre de dominio, el nombre se busca entre los grupos de servidores descritos y, si no se encuentra, se determina usando un resolver. Permite pasar campos de cabecera deshabilitados de otra manera desde un servidor uwsgi a un cliente. Predeterminado http, server, location Indica si el cuerpo de la solicitud original se pasa al servidor uwsgi. Consulte también la directiva uwsgi_pass_request_headers. Predeterminado http, server, location Habilita o deshabilita el paso de campos de cabecera de la solicitud original al servidor uwsgi. Consulte también la directiva uwsgi_pass_request_body. Define un tiempo de espera para leer una respuesta del servidor uwsgi. El tiempo de espera se establece solo entre dos operaciones de lectura sucesivas, no para la transmisión de toda la respuesta. Si el servidor uwsgi no transmite nada dentro de este tiempo, la conexión se cierra. Predeterminado http, server, location Enables o deshabilita el almacenamiento en búfer del cuerpo de la solicitud del cliente. El cuerpo de la solicitud se lee completamente del cliente antes de enviar la solicitud al servidor uwsgi. El cuerpo de la solicitud se envía al servidor uwsgi inmediatamente cuando se recibe. En este caso, la solicitud no puede pasarse al siguiente servidor si Angie ya ha comenzado a enviar el cuerpo de la solicitud. Cuando se utiliza la codificación de transferencia fragmentada HTTP/1.1 para enviar el cuerpo de la solicitud original, entonces el cuerpo de la solicitud se almacenará en búfer independientemente del valor de la directiva. Establece un tiempo de espera para transmitir una solicitud al servidor uwsgi. El tiempo de espera se establece solo entre dos operaciones de escritura sucesivas, no para la transmisión de toda la solicitud. Si el servidor uwsgi no recibe nada dentro de este tiempo, la conexión se cierra. Predeterminado http, server, location Configura el comportamiento "TCP keepalive" para conexiones salientes a un servidor uwsgi. Por defecto, la configuración del sistema operativo está en efecto para el socket. La opción de socket SO_KEEPALIVE se activa para el socket. Especifica un archivo con el certificado en formato PEM utilizado para la autenticación a un servidor uwsgi seguro. Se pueden usar variables en el nombre del archivo. Predeterminado http, server, location Define una caché que almacena certificados SSL y claves secretas especificados usando variables. La directiva admite los siguientes parámetros: Ejemplo: Especifica un archivo con la clave secreta en formato PEM utilizada para la autenticación a un servidor uwsgi seguro. El valor Se pueden usar variables en el nombre del archivo. Predeterminado http, server, location Especifica los cifrados habilitados para solicitudes a un servidor uwsgi seguro. Los cifrados se especifican en el formato entendido por la biblioteca OpenSSL. La lista de cifrados depende de la versión de OpenSSL instalada.
La lista completa se puede ver usando el comando Advertencia La directiva En LibreSSL, los cifrados TLS 1.3 sí se pueden configurar usando
En BoringSSL, los cifrados TLS 1.3 no se pueden configurar en absoluto. Establece comandos de configuración OpenSSL arbitrarios al establecer una conexión con un servidor uwsgi seguro. Nota La directiva es compatible cuando se usa OpenSSL 1.0.2 o superior.
Para configurar cifrados TLS 1.3 en OpenSSL, use el comando Se pueden especificar múltiples directivas uwsgi_ssl_conf_command en el mismo nivel. Estas directivas se heredan del nivel de configuración anterior si y solo si no hay directivas uwsgi_ssl_conf_command definidas en el nivel actual. Advertencia Tenga en cuenta que reconfigurar OpenSSL directamente podría resultar en comportamiento inesperado. Especifica un archivo con certificados revocados (CRL) en formato PEM utilizado para verificar el certificado del servidor uwsgi seguro. Predeterminado http, server, location Permite anular el nombre del servidor utilizado para verificar el certificado del servidor uwsgi seguro y para ser pasado a través de SNI al establecer una conexión con el servidor uwsgi seguro. Por defecto, se usa el nombre de host de la directiva uwsgi_pass. Especifica un archivo con frases de contraseña para claves secretas donde cada frase de contraseña se especifica en una línea separada. Las frases de contraseña se prueban por turnos al cargar la clave. Predeterminado http, server, location Distinto en la versión 1.2.0: Parámetro Habilita los protocolos especificados para solicitudes a un servidor uwsgi seguro. Predeterminado http, server, location Habilita o deshabilita el paso del nombre del servidor establecido por la directiva uwsgi_ssl_name a través de la extensión TLS Server Name Indication (SNI, RFC 6066) al establecer una conexión con el servidor uwsgi seguro. Predeterminado http, server, location Determina si las sesiones SSL pueden reutilizarse cuando se trabaja con el servidor uwsgi seguro. Si aparecen errores "SSL3_GET_FINISHED:digest check failed" en los registros, intente deshabilitar la reutilización de sesiones. Especifica un archivo con certificados CA de confianza en formato PEM utilizado para verificar el certificado del servidor uwsgi seguro. Habilita o deshabilita la verificación del certificado del servidor uwsgi seguro. Predeterminado http, server, location Establece la profundidad de verificación en la cadena de certificados del servidor uwsgi seguro. Habilita el guardado de archivos en disco. guarda archivos con rutas correspondientes a las directivas alias o root deshabilita el guardado de archivos El nombre del archivo puede establecerse explícitamente usando el string con variables: El tiempo de modificación de los archivos se establece según el campo de cabecera de respuesta Esta directiva puede usarse para crear copias locales de archivos estáticos inmutables, por ejemplo: Predeterminado http, server, location Establece permisos de acceso para archivos y directorios recién creados, por ejemplo: Si se especifican permisos de acceso para Predeterminado http, server, location Limita el tamaño de datos escritos a un archivo temporal a la vez, cuando el almacenamiento en búfer de respuestas del servidor uwsgi a archivos temporales está habilitado. Por defecto, el tamaño está limitado por dos búferes establecidos por las directivas uwsgi_buffer_size y uwsgi_buffers. El tamaño máximo de un archivo temporal se establece mediante la directiva uwsgi_max_temp_file_size. Predeterminado http, server, location Define un directorio para almacenar archivos temporales con datos recibidos de servidores uwsgi. Se puede utilizar una jerarquía de subdirectorios de hasta tres niveles debajo del directorio especificado. Por ejemplo, en la siguiente configuración un archivo temporal podría verse así: Véase también el parámetro use_temp_path de la directiva uwsgi_cache_path.Ejemplo de configuración#
location / {
include uwsgi_params;
uwsgi_pass localhost:9000;
}
Directivas#
uwsgi_bind#
off
cancela el efecto de la directiva uwsgi_bind heredada del nivel de configuración anterior, lo que permite al sistema asignar automáticamente la dirección IP local y el puerto.transparent
permite que las conexiones salientes a un servidor uWSGI se originen desde una dirección IP no local, por ejemplo, desde una dirección IP real de un cliente:uwsgi_bind $remote_addr transparent;
transparent
, los procesos de trabajo heredan la capacidad CAP_NET_RAW del proceso maestro.uwsgi_buffer_size#
uwsgi_buffering#
on
off
X-Accel-Buffering
. Esta capacidad se puede deshabilitar usando la directiva uwsgi_ignore_headers.uwsgi_buffers#
uwsgi_buffers
number size;uwsgi_buffers 8 4k | 8k;
uwsgi_busy_buffers_size#
uwsgi_busy_buffers_size
size;uwsgi_busy_buffers_size 8k | 16k;
uwsgi_cache#
off
uwsgi_cache_background_update#
uwsgi_cache_background_update
on
| off
;uwsgi_cache_background_update off;
uwsgi_cache_bypass#
uwsgi_cache_bypass $cookie_nocache $arg_nocache$arg_comment;
uwsgi_cache_bypass $http_pragma $http_authorization;
uwsgi_cache_key#
uwsgi_cache_key localhost:9000$request_uri;
uwsgi_cache_lock#
uwsgi_cache_lock_age#
uwsgi_cache_lock_age
time;uwsgi_cache_lock_age 5s;
uwsgi_cache_lock_timeout#
uwsgi_cache_lock_timeout
time;uwsgi_cache_lock_timeout 5s;
uwsgi_cache_max_range_offset#
uwsgi_cache_methods#
uwsgi_cache_methods
GET
| HEAD
| POST
...;uwsgi_cache_methods GET HEAD;
uwsgi_cache_min_uses#
uwsgi_cache_min_uses
number;uwsgi_cache_min_uses 1;
uwsgi_cache_path#
uwsgi_cache_path
path [levels=
levels] [use_temp_path=
on
| off
] keys_zone=
name:size [inactive=
time] [max_size=
size] [min_free=
size] [manager_files=
number] [manager_sleep=
time] [manager_threshold=
time] [loader_files=
number] [loader_sleep=
time] [loader_threshold=
time];levels
define los niveles de jerarquía de una caché: de 1 a 3, cada nivel acepta valores 1 o 2. Por ejemplo, en la siguiente configuración:uwsgi_cache_path /data/angie/cache levels=1:2 keys_zone=one:10m;
/data/angie/cache/c/29/b7f54b2df7773722d382f4809d65029c
use_temp_path
.on
off
keys_zone
. Una zona de un megabyte puede almacenar alrededor de 8 mil claves.inactive
se eliminan de la caché independientemente de su frescura.inactive
se establece en 10 minutos.max_size
min_free
manager_files
100
manager_threshold
200
milisegundosmanager_sleep
50
milisegundosloader_files
100
loader_threshold
200
milisegundosloader_sleep
50
milisegundosuwsgi_cache_revalidate#
uwsgi_cache_revalidate
on
| off
;uwsgi_cache_revalidate off;
If-Modified-Since
y If-None-Match
.uwsgi_cache_use_stale#
uwsgi_cache_use_stale
error
| timeout
| invalid_header
| updating
| http_500
| http_503
| http_403
| http_404
| http_429
| off
...;uwsgi_cache_use_stale off;
error
updating
Cache-Control
permite utilizar una respuesta en caché obsoleta si actualmente se está actualizando.Cache-Control
permite utilizar una respuesta en caché obsoleta en caso de error.uwsgi_cache_valid#
uwsgi_cache_valid 200 302 10m;
uwsgi_cache_valid 404 1m;
uwsgi_cache_valid 5m;
any
:uwsgi_cache_valid 200 302 10m;
uwsgi_cache_valid 301 1h;
uwsgi_cache_valid any 1m;
X-Accel-Expires
establece el tiempo de caché de una respuesta en segundos. El valor 0 deshabilita el almacenamiento en caché para una respuesta. Si el valor comienza con el prefijo @, establece un tiempo absoluto en segundos desde la Época (Epoch), hasta el cual la respuesta puede ser almacenada en caché.X-Accel-Expires
, los parámetros de caché se determinan por los campos de cabecera Expires
o Cache-Control
.Set-Cookie
no será almacenada en caché.Vary
con el valor especial "*" no será almacenada en caché. Una respuesta con el campo de cabecera Vary
con otro valor será almacenada en caché teniendo en cuenta los campos de cabecera de solicitud correspondientes.uwsgi_connect_timeout#
uwsgi_connect_timeout
time;uwsgi_connect_timeout 60s;
uwsgi_connection_drop#
uwsgi_connection_drop
time | on
| off
;uwsgi_connection_drop off;
DELETE
.on
establecido, las conexiones se cierran inmediatamente.uwsgi_force_ranges#
uwsgi_force_ranges
on
| off
;uwsgi_force_ranges off;
Accept-Ranges
en estas respuestas.uwsgi_hide_header#
Date
, Server
, X-Pad
, y X-Accel-...
de la respuesta de un servidor uwsgi a un cliente. La directiva uwsgi_hide_header establece campos adicionales que no serán pasados. Si, por el contrario, se necesita permitir el paso de campos, se puede usar la directiva uwsgi_pass_header.uwsgi_ignore_client_abort#
uwsgi_ignore_client_abort
on
| off
;uwsgi_ignore_client_abort off;
uwsgi_ignore_headers#
X-Accel-Redirect
, X-Accel-Expires
, X-Accel-Limit-Rate
, X-Accel-Buffering
, X-Accel-Charset
, Expires
, Cache-Control
, Set-Cookie
, y Vary
.X-Accel-Expires
, Expires
, Cache-Control
, Set-Cookie
y Vary
establecen los parámetros de almacenamiento en caché de respuesta;X-Accel-Redirect
realiza una redirección interna a la URI especificada;X-Accel-Limit-Rate
establece el límite de velocidad para la transmisión de una respuesta a un cliente;X-Accel-Buffering
habilita o deshabilita el almacenamiento en búfer de una respuesta;X-Accel-Charset
establece el conjunto de caracteres deseado de una respuesta.uwsgi_intercept_errors#
uwsgi_intercept_errors
on
| off
;uwsgi_intercept_errors off;
uwsgi_limit_rate#
0
uwsgi_max_temp_file_size#
uwsgi_max_temp_file_size
size;uwsgi_max_temp_file_size 1024m;
0
uwsgi_modifier1#
uwsgi_modifier2#
uwsgi_next_upstream#
uwsgi_next_upstream
error
| timeout
| invalid_header
| http_500
| http_503
| http_403
| http_404
| http_429
| non_idempotent
| off
...;uwsgi_next_upstream error timeout;
error
timeout
invalid_header
http_500
http_503
http_403
http_404
http_429
non_idempotent
POST
, LOCK
, PATCH
) no se pasan a otro servidor si ya se ha enviado una solicitud a un servidor upstream; habilitar este parámetro permite reintentar dichas solicitudes explícitamente;off
error
timeout
invalid_header
http_500
http_503
http_429
http_403
http_404
uwsgi_next_upstream_timeout#
uwsgi_next_upstream_timeout
time;uwsgi_next_upstream_timeout 0;
0
uwsgi_next_upstream_tries#
uwsgi_next_upstream_tries
number;uwsgi_next_upstream_tries 0;
0
uwsgi_no_cache#
uwsgi_no_cache $cookie_nocache $arg_nocache$arg_comment;
uwsgi_no_cache $http_pragma $http_authorization;
uwsgi_param#
uwsgi_param
definidas en el nivel actual.uwsgi_params
proporcionado en la distribución:location / {
include uwsgi_params;
# ...
}
if_not_empty
, entonces dicho parámetro se pasará al servidor solo si su valor no está vacío:uwsgi_param HTTPS $https if_not_empty;
uwsgi_pass#
uwsgi
o suwsgi
(uwsgi seguro, uwsgi sobre SSL). La dirección se puede especificar como un nombre de dominio o dirección IP, y un puerto:uwsgi_pass localhost:9000;
uwsgi_pass uwsgi://localhost:9000;
uwsgi_pass suwsgi://[2001:db8::1]:9090;
uwsgi_pass unix:/tmp/uwsgi.socket;
uwsgi_pass_header#
uwsgi_pass_request_body#
uwsgi_pass_request_body
on
| off
;uwsgi_pass_request_body on;
uwsgi_pass_request_headers#
uwsgi_pass_request_headers
on
| off
;uwsgi_pass_request_headers on;
uwsgi_read_timeout#
uwsgi_request_buffering#
uwsgi_request_buffering
on
| off
;uwsgi_request_buffering on;
on
off
uwsgi_send_timeout#
uwsgi_socket_keepalive#
uwsgi_socket_keepalive
on
| off
;uwsgi_socket_keepalive off;
off
on
uwsgi_ssl_certificate#
uwsgi_ssl_certificate_cache#
uwsgi_ssl_certificate_cache
off
;uwsgi_ssl_certificate_cache
max=
N [inactive=
time] [valid=
time];uwsgi_ssl_certificate_cache off;
max
— establece el número máximo de elementos en la caché. Cuando la caché
se desborda, se eliminan los elementos menos utilizados recientemente (LRU).inactive
— define el tiempo después del cual un elemento se elimina si no
ha sido accedido. El valor predeterminado es 10 segundos.valid
— define el tiempo durante el cual un elemento en caché se considera
válido y puede reutilizarse. El valor predeterminado es 60 segundos. Después de este período,
los certificados se recargan o revalidan.off
— desactiva la caché.uwsgi_ssl_certificate $uwsgi_ssl_server_name.crt;
uwsgi_ssl_certificate_key $uwsgi_ssl_server_name.key;
uwsgi_ssl_certificate_cache max=1000 inactive=20s valid=1m;
uwsgi_ssl_certificate_key#
engine:`name`:id
puede especificarse en lugar del archivo, que carga una clave secreta con un id especificado desde el motor OpenSSL name.uwsgi_ssl_ciphers#
uwsgi_ssl_ciphers
ciphers;uwsgi_ssl_ciphers DEFAULT;
openssl ciphers
.uwsgi_ssl_ciphers
no configura cifrados para TLS
1.3 cuando se usa OpenSSL. Para ajustar los cifrados TLS 1.3 con OpenSSL, use la
directiva uwsgi_ssl_conf_command, que se agregó para soportar
configuración SSL avanzada.uwsgi_ssl_ciphers
.uwsgi_ssl_conf_command#
ciphersuites
.uwsgi_ssl_crl#
uwsgi_ssl_name#
uwsgi_ssl_name
name;uwsgi_ssl_name `nombre de host de uwsgi_pass
;`uwsgi_ssl_password_file#
uwsgi_ssl_protocols#
uwsgi_ssl_protocols
[SSLv2
] [SSLv3
] [TLSv1
] [TLSv1.1
] [TLSv1.2
] [TLSv1.3
];uwsgi_ssl_protocols TLSv1.2 TLSv1.3;
TLSv1.3
agregado al conjunto predeterminado.uwsgi_ssl_server_name#
uwsgi_ssl_server_name
on
| off
;uwsgi_ssl_server_name off;
uwsgi_ssl_session_reuse#
uwsgi_ssl_session_reuse
on
| off
;uwsgi_ssl_session_reuse on;
uwsgi_ssl_trusted_certificate#
uwsgi_ssl_verify#
uwsgi_ssl_verify_depth#
uwsgi_ssl_verify_depth
number;uwsgi_ssl_verify_depth 1;
uwsgi_store#
on
off
uwsgi_store /data/www$original_uri;
Last-Modified
recibido. La respuesta se escribe primero en un archivo temporal, y luego el archivo se renombra. Los archivos temporales y el almacenamiento persistente pueden colocarse en diferentes sistemas de archivos. Sin embargo, tenga en cuenta que en este caso un archivo se copia a través de dos sistemas de archivos en lugar de la operación económica de renombrado. Por lo tanto, se recomienda que para cualquier ubicación dada, tanto los archivos guardados como el directorio que contiene archivos temporales, establecido por la directiva uwsgi_temp_path, se coloquen en el mismo sistema de archivos.location /images/ {
root /data/www;
error_page 404 = /fetch$uri;
}
location /fetch/ {
internal;
uwsgi_pass backend:9000;
...
uwsgi_store on;
uwsgi_store_access user:rw group:rw all:r;
uwsgi_temp_path /data/temp;
alias /data/www/;
}
uwsgi_store_access#
uwsgi_store_access
users:permissions ...;uwsgi_store_access user:rw;
uwsgi_store_access user:rw group:rw all:r;
group
o all
, los permisos de usuario pueden omitirse:uwsgi_store_access group:rw all:r;
uwsgi_temp_file_write_size#
uwsgi_temp_file_write_size
size;uwsgi_temp_file_write_size 8k|16k;
uwsgi_temp_path#
uwsgi_temp_path
path [level1 [level2 [level3]]];uwsgi_temp_path uwsgi_temp;
(la ruta depende del parámetro de compilación --http-uwsgi-temp-path
)uwsgi_temp_path /spool/angie/uwsgi_temp 1 2;
/spool/angie/uwsgi_temp/7/45/00000123457