aboutsummaryrefslogtreecommitdiff
path: root/src/http/ngx_http_upstream.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/http/ngx_http_upstream.c')
-rw-r--r--src/http/ngx_http_upstream.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/http/ngx_http_upstream.c b/src/http/ngx_http_upstream.c
index d574a6a31..ca6db5cf1 100644
--- a/src/http/ngx_http_upstream.c
+++ b/src/http/ngx_http_upstream.c
@@ -2276,6 +2276,17 @@ ngx_http_upstream_process_headers(ngx_http_request_t *r, ngx_http_upstream_t *u)
r->disable_not_modified = !u->cacheable;
+ if (u->conf->force_ranges) {
+ r->allow_ranges = 1;
+ r->single_range = 1;
+
+#if (NGX_HTTP_CACHE)
+ if (r->cached) {
+ r->single_range = 0;
+ }
+#endif
+ }
+
u->length = -1;
return NGX_OK;
@@ -4393,6 +4404,10 @@ ngx_http_upstream_copy_allow_ranges(ngx_http_request_t *r,
{
ngx_table_elt_t *ho;
+ if (r->upstream->conf->force_ranges) {
+ return NGX_OK;
+ }
+
#if (NGX_HTTP_CACHE)
if (r->cached) {