nginx反向代理后视频无法访问
ngxin 配置了反向代理,后端部署了 php 程序,但是现在访问视频在 ios 上面无法进行播放,在安卓正常,请问怎么解决呢?
location /api/ {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:8080/;
}
请求视频地址如下 https://xx.com/api/file/video/20230401_411915618564964741.mp4
在微信小程序播放提示:MEDIA_ERR_SRC_NOT_SUPPORTED
这种情况一般是因为 iOS 设备不支持该视频的编解码方式,导致无法播放。需要确保视频编解码格式和 iOS 设备的兼容性。
此外,如果视频文件比较大,可能会存在传输过程中出现问题的风险。你可以尝试增加 nginx 的缓存配置,将视频暂存在 nginx 中,以提高用户体验。
下面是一个简要的 nginx 缓存配置示例,你可以根据自己业务的具体情况进行调整:
在这个配置中,我们使用了 ngx_http_proxy_module 插件提供的缓存功能,并将缓存文件存储在 /data/nginx/cache 目录下。我们通过 proxy_cache_path 指令来指定缓存路径和相关参数。
同时,我们还指定了一些缓存的相关参数,例如:proxy_cache_valid 200 60m 表示在接收到 200 响应码时进行缓存,并将缓存文件保存 60 分钟。proxy_cache_revalidate on 表示如果源服务器返回了 Last-Modified 或者 ETag 字段,将在缓存过期之前对源服务器进行重新验证。
此外,我们还指定了一些其他参数,例如:proxy_busy_buffers_size 512k,proxy_buffers 256 16k 等,以帮助 nginx 更好地处理缓存数据。
你可以根据实际情况对这个配置进行微调,以提高视频访问的稳定性和用户体验。
会不会是这个问题 博客:nginx 代理图片、css、js等静态资源
强制关闭 Accept-Ranges 响应头: