8920 与媒体库 HTTPS
8920 是 Jellyfin 与 Emby 的 HTTPS 监听默认端口,与 HTTP 的 8096 成对配置。这两个项目同源(Jellyfin 由 Emby 分支而来),都允许同时开启明文与加密监听:内网客户端使用 8096,需要加密访问或对外发布时使用 8920。实践中最稳妥的做法是在前面放一个反向代理统一处理 443 与正式证书,8920 只在内网兜底。若直接启用自签证书,客户端会频繁提示证书警告,用户往往最终选择忽略校验,加密就失去意义。
基本信息
| 服务名 | Jellyfin / Emby HTTPS |
|---|---|
| 传输层 | TCP + TLS(8920) |
| 配对端口 | 8096 为 HTTP 监听 |
| 推荐做法 | 反代统一 443 与正式证书,8920 仅内网使用 |
| 安全等级 | 内网;公网访问经反代 |
典型使用场景
- 家庭媒体库加固:把对外的访问收敛到反代与正式证书
- 证书排障:客户端报证书错误时确认连的是哪个端口与域名
- 反代配置核实:确认转发目标与头部设置正确
- 客户端兼容性核查:老旧播放器可能不支持某些 TLS 版本
- 资产盘点:登记媒体服务端口与所在主机
检查监听与证书
检查监听与证书
ss -lntp | grep 8920 # 宿主机上是否有监听
openssl s_client -connect localhost:8920 </dev/null 2>/dev/null | openssl x509 -noout -dates # 证书有效期
curl -kI https://localhost:8920/ | head -3 # 服务是否响应
# 容器部署:确认端口已映射到宿主机,否则宿主机 ss 看不到监听
# 反代部署:确认转发目标指向 8920 或 8096,两者只能选其一作为入口媒体服务端口对照
| 端口 | 服务 | 说明 |
|---|---|---|
| 8096 | Jellyfin / Emby HTTP | 内网默认入口 |
| 8920 | Jellyfin / Emby HTTPS | 本条目,加密监听 |
| 32400 | Plex | 另一套媒体服务的默认端口 |
| 443 | 反向代理 | 对外发布时统一使用 |
证书错误排查要先确认客户端连的是哪个端口、哪个域名:反代与容器直连并存时机器上可能存在两套证书体系,报错对象很容易搞错,查了半天发现是另一套实例。
媒体服务器保存账号、播放历史与媒体库索引。把它的端口直接映射到公网又不设访问控制,风险不止内容泄露,还包括被当作转码资源滥用,直接推高主机负载与电费。