Tom

Tom

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 命令。

#首先進入到 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 中

#確保自己在 .acme 的對應域名文件夾下進行複製操作
cp youdomain.com.pfx /usr/plex/video/

複製完成後任意資料庫 - 編輯 - 添加文件夾中,可以選路徑,在窗口中可以看到證書已經在 /video 下出現。

4.Plex 設置#

進入設置 - 網絡 - 顯示高級選項下:

自定義證書位置:/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/

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
載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。