首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >EMBY通过反代后视频加载缓慢解决

EMBY通过反代后视频加载缓慢解决

作者头像
铭心
发布2024-12-20 14:00:34
发布2024-12-20 14:00:34
1.6K00
代码可运行
举报
文章被收录于专栏:铭心の博客铭心の博客
运行总次数:0
代码可运行

Emby 反代后外网访问慢的解决方案

由于一台服务器上部署了多个服务,所以 Emby 只能通过域名区分进行访问。为了解决这个问题,我通过 Nginx 对 Emby 进行反向代理。然而,反代后发现 Emby 在内网可以瞬间加载视频,但在外网加载速度非常慢,甚至会出现视频未播放完就跳跃的问题。

问题描述

通过抓包分析发现,Nginx 反代 Emby 后,请求媒体的响应状态码是 200;而在内网直接访问(与 Emby 在同一网段)时,请求媒体的响应状态码是 206

  • Nginx 反代 Emby,此时请求视频媒体的响应状态码是 200:
Nginx 反代 200 状态码
Nginx 反代 200 状态码
  • 家里直接访问(与 Emby 在同一网段),此时请求视频媒体的响应状态码是 206:
内网访问 206 状态码
内网访问 206 状态码
状态码解释
  • 200 OK:表示请求成功,服务器已成功处理了请求。对于 GET 请求,响应包含所请求的资源。
  • 206 Partial Content:表示服务器已成功处理了部分 GET 请求。通常用于支持范围请求,客户端可以请求资源的一个或多个部分。
解决方案

经过排查发现,这是因为 Nginx 反代 Emby 时进行了缓存,并且不允许只处理部分请求。解决方法是在 Nginx 反代配置中加入如下配置:

代码语言:javascript
代码运行次数:0
运行
复制
proxy_buffering off;
proxy_set_header Range $http_range;
proxy_set_header If-Range $http_if_range;

加入上述配置后,请求视频媒体将返回状态码 206,此时外网观看视频将和内网一样可以立即播放,不会出现跳跃的问题,且拖动进度条后不需要等待很久的加载时间。

我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=1usz1yhdm4zlh

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-10-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Emby 反代后外网访问慢的解决方案
    • 问题描述
    • 状态码解释
    • 解决方案
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档