Warning

这可能是一篇过时的记录

虽然我已经转向使用EmbyPlex了
但还是把这个一年前遇到的问题的解决方案发出来吧

环境及问题描述

JellyFin 部署于主机A的docker中
nginx 部署于主机B
通过主机A的IP播放影片与拖动进度条无需等待
通过主机B部署的nginx反向代理播放与拖动进度条需要等待30秒以上

F12确定问题出自https://example.com/Videos/*
F12

连续两次请求中 首次请求响应时间正常
而第二次请求pending时间超长(50秒+) 查看地址后发现其url完全一致
因此考虑nginx缓存问题

解决方案

nginx配置文件中对反向代理禁用缓存

location / {
        # Proxy main Jellyfin traffic
        proxy_pass http://$jellyfin:8096;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Protocol $scheme;
        proxy_set_header X-Forwarded-Host $http_host;
        # 禁用缓存
        proxy_cache off;
        # Disable buffering when the nginx proxy gets very resource heavy upon streaming
        proxy_buffering off;
    }