Nginx反向代理配置支持206 Partial Content

技术 · 2023-08-08

对于反向代理,Nginx在这里只扮演代理的角色。

要使反向代理的Nginx支持206 Partial Content,可以这么做:

  1. 在Nginx配置location块,添加以下配置开启范围请求支持:
location / {
  proxy_set_header Range $http_range;
  proxy_set_header If-Range $http_if_range;
}

这会将Range和If-Range请求头传递给后端服务器。

  1. 确保后端服务器能处理范围请求并返回206状态码。
  2. 在Nginx访问日志中,添加$upstream_http_content_range变量来记录后端响应的Content-Range头信息。
log_format main '$upstream_http_content_range';
  1. Nginx接收到后端的206响应后,会将Content-Length和Content-Range头原封不动地传递给客户端。

这样Nginx就只负责透传范围请求和响应头,而不用自己处理字节内容。

主要还是依赖于后端应用服务器实现部分内容支持,Nginx仅作为代理传递范围请求和响应头。

Nginx
Theme Jasmine by Kent Liao