Plex开启代理后无法远程访问的解决方案
Plex开启代理后无法远程访问的解决方案

Plex开启代理后无法远程访问的解决方案

近期Plex服务包括刮削在内有所受限,或是访问困难。在开启代理后,连接顺畅,且刮削服务能够恢复正常。但是此时,从外网访问Plex服务器时,会出现无法连接的问题。

Plex采用一套较为复杂,但是全自动的机制,方便用户远程访问服务器。如果机器具有公网,Plex会自动生成一个https的地址解析至公网IP,为*.plex.direct,方便远程访问,而且可直连服务器,避免中转拖慢速度。当在内网访问时,Plex同样会自动判断,将自动解析至内网。Plex这套工作机制是少有的,对用户来说无感,但又是极其方便的。

那么明白了其工作机制,便能初步得出开启代理后Plex无法远程访问的原因,便是主机向Plex汇报本机地址的时候,经过了代理,只需要将这个汇报服务走直连即可。因此,将下列地址添加进代理的白名单,或者直连列表:

v4.plex.tv
*.amazonaws.com
*.plex.direct

确保以下地址走代理:

downloads.plex.tv
metadata-static.plex.tv
metadata.provider.plex.tv
meta.plex.tv

不同的设置不同的工具有关,可自行研究,同时有些工具如帕斯沃不支持通配符,比如*.plex.direct设置为plex.direct即可。(P.S. 如果你使用帕斯沃,建议换成帕斯沃2,效果稳定很多)

如此,便能保证Plex服务在经过代理的同时能够正确获取到服务器的正确地址。

同时,可以从以下API看到自己的服务器汇报给Plex Cloud的信息:

https://plex.tv/api/v2/resources?includeHttps=1&X-Plex-Client-Identifier=test123&X-Plex-Token=<你的token>

其中以上<你的token>可以通过访问Web版的Plex资源库,点击任意一个资源,从浏览器后台可以查看请求地址,其中便可以找到X-Plex-Token具体的值,即为<你的token>