自行托管您的媒体始终是一个有趣的选择。我们都有各种媒体,从音乐到电影,像Jellyfin这样的开源项目可以轻松地将这些媒体从硬盘上转移到电视上观看。
是否需要在您自己的本地网络上使用安全协议是有争议的,但如果可能并且易于设置,为什么不呢? Jellyfin 让这一切变得非常简单。
许多客户端和计算机在进行自动发现和设置时首先寻找安全连接,尤其是登录页面。
创建 SSL 证书
首先我们需要安装 OpenSSL。
-
创建私钥。
openssl req -x509 -newkey rsa:4096 -keyout ./privatekey.pem -out cert.pem \ -days 365 -nodes -subj '/CN=jellyfin.local'
-
-subj '/CN=localdnsname.tld'
是您在网络上创建的 DNS 名称,用于在jellfin.local
等浏览器中连接到 Jellyfin - 如果内部访问和外部访问的 DNS 不同,您可以根据需要添加多个域名。将
-addtext
开关添加到命令中。
-addext "subjectAltName = DNS:jellfinexternal.tld,DNS:jellyfin.local"
-
-
Jellyfin 要求 SSL 证书是包含私钥和证书文件的 PFX 文件。
openssl pkcs12 -export -out jellyfin.pfx -inkey . \ privatekey.pem \ -in . \ cert.pem -passout pass:jellyfin.local
发生了什么事
在第一个命令中,它创建私钥 ( privatekey.pem
) 和证书文件 ( cert.pem
)。第二个命令获取这两个文件并将它们组合到jellfin.pfx
文件中。 PFX 文件是一种证书文件,它将证书和私钥信息包含在一个文件中,并且可以更轻松地在 Web 应用程序中使用此格式,因为它是保存此信息的一个文件。
这使得将此文件保留在文件系统上更安全,因为您需要密码才能使用它。 privatekey.pem
和cert.pem
是纯文本形式,如果这两个文件可用于其他目的,则可以使用。
将证书添加到 Jellyfin
现在我们已经创建了 PFX 文件,我们需要将其安装到 Jellyfin。
- 从 Web 界面登录您的 Jellyfin 服务器。
- 浏览至设置
- 浏览至管理 > 仪表板
- 浏览至高级 > 网络
确保在服务器地址设置下选中启用 HTTPS。默认端口为 8920。
在 HTTPS 设置下,输入客户 SSL 证书的 PFX 文件的路径。还要输入创建证书时的证书密码。
确保保存。现在最好停止 Jellyfin 服务器并重新启动它。
重新启动可能需要一分钟时间。尝试通过 SSL 端口和 DNS 浏览 Jellyfin 服务器(如果可用)。首先检查 IP 以确保服务在端口上响应。
如果它加载 Jellyfin Web 界面,系统会要求您登录(如果需要),现在您的服务器正在使用 HTTPS!如果 SSL 端口上的 Jellyfin 服务未加载,请检查 HTTP 端口。 Jellyfin 在启动过程中创建的日志也将具有良好的错误日志记录,并进行相应的故障排除。
更新证书
如果您按照示例操作,则证书的有效期为 365 天,届时您需要续订。我发现重新运行这些步骤是续订证书的最佳方法。如果您记得密码,则可以重复使用该密码。如果发生变化,请确保 Jellyfin 中也进行了更新。
没有办法延长证书的到期日期,因为它内置于证书中,更改日期也会更改证书的加密,并且与之前创建的加密不匹配。
有一种方法可以创建具有很长有效期或根本没有有效期的证书。
使用-days 365
告诉您证书的有效期限。在创建过程中忽略这一点将不会过期。设置过期日期仍然是一个好习惯。
结论
这是一个非常简单的过程,Jellyfin Networking页面提供了有关 SSL 及其产品使用的更多信息。
通过电子邮件回复
原文: https://claytonerrington.com/blog/jellyfin-and-ssl/?utm_source=rss