现象:配置Nginx反向代理后,在请求m3u8文件时,一直报502错误,通过wireshark抓包发现服务器会瞬间断开连接。
原因:最后发现客户端发出的请求时HTTP/1.1,在nginx和服务器之间抓包却是HTTP/1.0,看来是nginx将HTTP/1.1转换成了HTTP/1.0,由于HTTP/1.0不支持长连接,所以在传输文件时服务器断开了连接。
解决办法:在nginx.conf中添加HTTP/1.1的支持,如下:
location / {
proxy_http_version 1.1; # 后端配置支持HTTP1.1,必须配
proxy_set_header Connection ""; # 后端配置支持HTTP1.1 ,必须配置。
proxy_pass http://192.168.6.128:8090;
}