什么是 SSL 证书?

  • SSL 证书使网站能够使用比 HTTP 更加安全的 HTTPS。SSL 证书是托管在网站源服务器中的数据文件。SSL 证书促成了 SSL/TLS 加密,它们含有网站的公钥和网站标识以及相关信息。

  • 尝试与源服务器通信的设备将引用此文件,以获取公钥并验证服务器的身份。私钥应保密并妥善保管。

什么是 SSL?

  • SSL(通常称为 TLS)是用于加密互联网流量和验证服务器身份的协议。任何具有 HTTPS 网址的网站都使用 SSL/TLS。

SSL证书是如何工作的?

SSL证书在一个数据文件中包括以下信息:

  • 针对其颁发证书的域名

  • 证书颁发给哪一个人、组织或设备

  • 证书由哪一证书颁发机构颁发

  • 证书颁发机构的数字签名

  • 关联的子域

  • 证书的颁发日期

  • 证书的到期日期(SSL证书是有到期时间的,注意到期前换新续上的证书。)

  • 公钥(私钥为保密状态)

用于 SSL 的公钥和私钥本质上是用于加密和签署数据的长字符串。使用公钥加密的数据只能用私钥解密。

该证书托管在一个网站的源服务器上,并被发送到任何请求加载该网站的设备上。 大多数浏览器都允许用户查看 SSL 证书:在 Chrome 浏览器中,可以通过点击 URL 栏左侧的挂锁图标来实现。

为什么网站需要 SSL 证书?

  • 网站需要 SSL 证书,以确保用户数据的安全,验证网站的所有权,防止攻击者创建站点的虚假版本,并且获得用户信任。

  • 加密:SSL/TLS 加密之所以可行,是因为 SSL 证书促成了公钥私钥配对。客户端(例如 Web 浏览器)从服务器的 SSL 证书获取打开 TLS 连接所需的公钥。

  • 身份验证:SSL 证书可验证客户端正在与实际拥有该域的正确服务器进行通信。这有助于防止域欺骗和其他类型的攻击。

  • HTTPS:对企业而言,HTTPS 网址必须使用 SSL证书,这一点最为重要。HTTPS 是 HTTP 的安全形式,HTTPS 网站是通过 SSL/TLS 加密流量的网站。

  • 除了在传输过程中保护用户数据外,HTTPS 还使站点更值得用户信赖。许多用户不会注意到以 http:// 和 https:// 开头的网址的区别,但大多数浏览器都使用醒目的方式将 HTTP 站点标记为“不安全”,并且尝试为切换到 HTTPS 和增强安全性提供奖励。

  • SSL 证书非安全浏览

申请SSL证书

  • 获取SSL证书的方式多种多样,有免费的有付费的。

  • 获取证书的前提是你拥有一个域名,而你拥有域名,应该有这个能力根据网络教程照抄如何获得SSL证书。

  • 如果你免费的、付费的,这些证书都不会获取,可在下一篇(最近实在看不下去电脑,我抓紧写出来。)文章中进行照抄,如何免费自动申请通配符域名证书。

  • (阿里云单个通配符域名证书最便宜也要1800/年)

设置要求

  • 自己拥有一个域名(最便宜的几块钱一年)

  • 如jellyfin是用Docker进行安装的,最好是使用Host网络模式,如果是Bridge网络模式,请自行修改映射端口,添加HTTPS端口8920。

  • 有公网IP,且做了DDNS域名解析,在外网可以使用自己的域名进行访问。

  • 演示安装的jellyfin版本是官方的服务器Docker镜像版本:10.9.7

jellyfin使用的证书格式

  1. jellyfin自定义SSL的证书要求格式是包含了证书和私钥的 PKCS #12 文件
    PFX也称为PKCS#12(Public Key Cryptography Standards #12),常见的扩展名是: .pfx 和 .p12

将证书文件转换格式

  1. 演示是使用下一篇文章中的工具,自动申请的通配符域名证书,也就是一个证书,通用所有二级域名,如***.aabcc.top

  2. 将自助申请下来的SSL证书文件压缩包解压,得到两个证书文件。(演示的证书文件格式是crt格式。)

  3. 前往网络中免费的网页版在线SSL安全证书格式转换工具(网站底部写有免费提供28天试用证书)

    https://www.myssl.cn/tools/merge-pfx-cert.html
  4. 按照当前转换工具的提示,将你的SSL证书信息粘贴上去。(如何获得对应信息看下一步骤)

  5. 单击选中证书文件,右键选择以记事本的方式打开,全选复制其中的内容,粘贴到网页中对应的框内。

  6. 将信息粘贴完之后,按照要求为你的SSL证书设置一个密码。然后点击合成PFX文件。

  7. 合成完之后点击下载PFX文件

  8. 现在我们就得到了一个jellyfin可以使用的 PKCS #12证书文件。

为jellyfin添加SSL证书

  1. 将转换后的证书文件,放到你的jellyfin容器内部路径。
    演示是安装时映射了config路径,直接将文件上传到这个路径内,如果你什么路径都没映射到本地,那就将证书文件随意放到你的媒体库文件夹内。

  2. 打开jellyfin--菜单--控制台--网络,勾选启用HTTPS,设置本地HTTPS端口号为8920(默认的)。

  3. 在HTTPS选项--点击右侧的放大镜,找到你上传的SSL证书文件,选择即可。再输入你的证书的密码。
    (强制HTTPS建议不开启,自选。)

  4. 远程访问设置中,要(默认)勾选允许与此服务器进行远程连接。然后下面的公开HTTPS端口号填写为8920。

  5. 在IP协议中勾选启用IPv4+IPv6,然后点击保存。
    这个时候也可以重启一下jellyfin(演示未重启过)

设置路由器端口映射

  1. 打开你的路由器,找到端口映射(每个路由器的内部功能名称不一定一样)。
    演示使用的是爱快软路由,根据自己的路由器进行设置。
    内网地址:你的NAS的IP地址
    内网端口:NAS上设置的jellyfin使用的https协议的端口
    协议:tcp
    映射类型:外网接口
    外网地址:就是你的宽带光猫线路
    外网端口:保持不变,使用默认的8920
    然后点击保存即可

测试访问

  1. 打开你的电脑浏览器,输入你的jellyfin外网访问地址,使用https://协议,端口使用8920。
    不出意外,不翻车,你的就会显示的和我的一样,已经挂上了锁。
    image-qxmq.png

  2. 在手机端jellyfin上一样的输入8920的https访问地址,正常连接即可。

  3. 最后说一句,搭建影视库找我,微信S20306,效果一级棒。

参考资料

功德+1(狗子).gif

👇👇👇