Cómo configurar el proxy inverso nginx para lograr una falla instantánea del servidor
Utilice el principio de proxy inverso de Nginx para lograr una conmutación por error instantánea del servidor del clúster. Consulte el ejemplo de configuraciones completas utilizadas en el entorno de producción:
#Nota: Las rutas especificadas por proxy_temp_path y. proxy_cache_path debe estar en la misma partición
proxy_temp_path /data0/proxy_temp_dir;
#Establezca el nombre del área de caché web en cache_one, el tamaño del espacio de memoria caché en 200 MB, el contenido que tiene No se ha accedido en 1 día se borrará automáticamente y el tamaño del espacio de la memoria caché del disco duro es de 30 GB.
proxy_cache_path /data0/proxy_cache_dirlevels=1:2keys_zone=cache_one:200m inactive=1d max_size=30g;
#Servidor de sondeo, el peso es el peso del servidor, que es proporcional a la frecuencia de acceso Proporcional, max_fails número máximo de tiempos de espera, tiempo de espera de escucha del agente del servidor fail_timeout
backend_server ascendente {
servidor 192.168.203.43:80 peso=1 max_fails=2 fail_timeout=30s;
servidor 192.168.203.44:80 peso=1 max_fails=2 fail_timeout=30s;
servidor 192.168.203.45:80 peso=1 max_fails=2 fail_timeout=30s;
}
servidor
{
escucha 80;
nombre_servidor www.tudominio.com 192.168.203.42;
index index.html index.htm;
raíz /data0/htdocs/www;
ubicación /
{
#Si después El servidor al final devuelve errores como 502, 504, tiempo de espera de ejecución, etc., y automáticamente reenvía la solicitud a otro servidor en el grupo de equilibrio de carga ascendente para lograr la conmutación por error.
proxy_next_upstream http_502 http_504 tiempo de espera de error invalid_header;
proxy_cache cache_one;
#Establecer diferentes tiempos de caché para diferentes códigos de estado HTTP
proxy_cache_valid 200 304 12h;
#El nombre de dominio, el URI y los parámetros se combinan para formar el valor clave del caché web. Nginx procesa el valor clave y almacena el contenido del caché en el directorio de caché de segundo nivel
p>
proxy_cache_key $host$uri$is_args$args;
proxy_set_header Host $host;
proxy_set_header X-reenviado-para $remote_addr;
proxy_pass http:// servidor_backend;
caduca 1d;
}
}