Pregunta

Tengo barniz instalado con la configuración predeterminada en mi servidor web Apache.Apache Listing al puerto 8080 y el barniz enumerando a 80.

Tengo pocos archivos descargables en el sitio web con los tamaños 100MB, 500 MB y 1GB

El 1GB no funciona, cuando hace clic en él, dirá que no disponible Página o conexión cerrada por el servidor.Los otros dos están funcionando bien, pero no estoy seguro de si esta es la forma correcta de descargarlos.

¿Cómo hago que el barniz omite estos archivos y obtenga directamente del servidor web?

gracias.

¿Fue útil?

Solución

Esto se podría hacer con la verificación de Content-Length en responder backend, y si es mayor que algún tamaño, luego etiquetelo con alguna marca y geneacodicetagchode Solicitud de transacción

Ejemplo, archivos con longitud de contenido>= 10,000,00 deben estar canalizados:

sub vcl_fetch {
..
  if ( beresp.http.Content-Length ~ "[0-9]{8,}" ) {
     set req.http.x-pipe-mark = "1";
     return(restart);
  }
..
}

Luego regresamos a la solicitud de verificación de la solicitud y el análisis. Aquí podemos verificar nuestra marca y realizar restart

sub vcl_recv {
..
  if (req.http.x-pipe-mark && req.restarts > 0) {
    return(pipe);
  }
..
}

Otros consejos

In varnish 4, vcl_fetch should be replaced with vcl_backend_response, see https://www.varnish-cache.org/docs/trunk/whats-new/upgrade-4.0.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top