plex开启https

通过 plex 设置中导入证书实现 https 访问，不使用 nginx 进行反向代理。

1. 准备证书

我的证书申请方法是通过 acme 生成，方法之前文章详细写过，可以参考https://tyuans.com/linux%e4%bd%bf%e7%94%a8acme%e7%94%b3%e8%af%b7%e8%af%81%e4%b9%a6/

2. 转换证书

plex 添加证书需要.pfx 文件，而 acme 生成的是.key 以及.cer 文件，因此我们需要转换，通过 openssl 命令。

Copy
#首先进入到acme生成的证书目录中：
cd ~/.acme/youdomain.com
#youdomain.com是你的域名，-out是指定输出pfx文件名称,-inkey是导入key，-in 是导入cer证书
openssl pkcs12 -export -out youdomain.com.pfx -inkey youdomain.com.key -in youdomain.com.cer
#然后输入秘钥，也就是密码，一定要输入

3. 将证书拷贝到 plex 能找到的文件夹内

我的 plex server 是通过 docker 建立的，因此目录是映射过去的。详细搭建方法可以参考https://tyuans.com/docker%e5%ae%89%e8%a3%85plex/

将 pfx 文件复制到映射到容器的 /video 目录中，我的是 /usr/plex/video 中

Copy
#确保自己在.acme的对应域名文件夹下进行复制操作
cp youdomain.com.pfx /usr/plex/video/

复制完成后任意资料库 - 编辑 - 添加文件夹中，可以选路径，在窗口中可以看到证书已经在 /video 下出现。

4.plex 设置

进入设置 - 网络 - 显示高级选项下:

Copy
自定义证书位置:/video/youdomain.com.pfx
自定义证书加密密钥：刚才转换证书时设置的密码输入
自定义证书域：就是你的域名youdomain.com
自定义服务器访问 URL：两个分别是 http://youdomain.com:32400/web,https://youdomain.com:32400/web
#端口根据自己情况可以修改

5. 脚本更新

证书 3 个月更新，我们需要写个脚本每段时间将新续期下来的证书转换并拷贝到 plex 的映射文件夹中，绝对路径记得改一下。

就是将刚才转换和复制的命令放一起，设置一个定时任务，定时任务根据申请证书的时间算算，我是每月 1 号执行。不会的话用在线网站算算。https://tool.lu/crontab/

Copy
vim plexpfx.sh
openssl pkcs12 -export -out /root/.acme/youdomain.com/youdomain.com.pfx -inkey /root/.acme/youdomain.com/youdomain.com.key -in /root/.acme/youdomain.com/youdomain.com.cer
cp /root/.acme/youdomain.com/youdomain.com.pfx /usr/plex/video/
#加运行权限
chmod +x plexpfx.sh

crontab -e
0 1 1 */1 * /root/cronsh/plexpfx.sh