赞
踩
!!!教程仅供学习参考,务必支持正版软件,构建良好的软件版权生态!!!
Emby Server是一个开源的流媒体中心软件,可以非常方便的管理和维护电影,电视剧集等媒体库,并生成强大美观的海报墙。并且全平台的客户端,使其跨设备观看变得非常便利。但是服务端的部分插件功能,以及视频转码功能,需要会员才能解锁。本教程将辅助实现Emby服务器的硬件转码等功能。
由于Emby Server需要和mb3admin.com
进行https通信,因此我们需要针对该域名申请ssl证书。
推荐 GMCert.org https://www.gmcert.org/subForm。按以下申请步骤进行:
mb3admin.com
点开下方的“高级选项”,并按照以下进行配置:
将上一步中解压获取的证书和密钥文件,上传至群晖中
新建文件emby_premiere_nginx.conf
,粘贴以下内容:
server { listen 443 ssl; listen [::]:443 ssl; server_name mb3admin.com; # 注意修改此处路径为你自己的路径 ssl_certificate /volume1/web/mb3admin.com/mb3admin.com.cert.pem; # 注意修改此处路径为你自己的路径 ssl_certificate_key /volume1/web/mb3admin.com/mb3admin.com.key.pem; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; location = /webdefault/images/logo.jpg { alias /usr/syno/share/nginx/logo.jpg; } location @error_page { root /usr/syno/share/nginx; rewrite (.*) /error.html break; } location ^~ /.well-known/acme-challenge { root /var/lib/letsencrypt; default_type text/plain; } location / { rewrite ^ / redirect; } location ~ ^/$ { rewrite / https://$host:5001/ redirect; } add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Headers *; add_header Access-Control-Allow-Method *; add_header Access-Control-Allow-Credentials true; location /admin/service/registration/validateDevice { default_type application/json; return 200 '{"cacheExpirationDays": 365,"message": "Device Valid","resultCode": "GOOD"}'; } location /admin/service/registration/validate { default_type application/json; return 200 '{"featId":"","registered":true,"expDate":"2099-01-01","key":""}'; } location /admin/service/registration/getStatus { default_type application/json; return 200 '{"deviceStatus":"0","planType":"Lifetime","subscriptions":{}}'; } }
注意:
由于证书和密钥的文件路径可能各有不同,在上述代码块中修改成自定义路径
# ssl_certificate /volume1/web/mb3admin.com/mb3admin.com.cert.pem;
ssl_certificate /change/to/your/own/cert/file/path;
# ssl_certificate_key /volume1/web/mb3admin.com/mb3admin.com.key.pem;
ssl_certificate_key /change/to/your/own/key/file/path;
将配置文件emby_premiere_nginx.conf
拷贝至群晖的系统目录/etc/nginx/sites-enabled
目录下。
由于 Emby 在验证时,会向mb3admin.com
进行post请求,因此需要在服务器或者客户端发出请求时,劫持到我们自行搭建的nginx服务上,通过nginx发送假的验证通过的消息。
因此需要在Emby Server和Emby Client所在的设备上修改hosts文件,将mb3admin.com域名直接指向群晖的IP。
# hosts
# <群晖IP> mb3admin.com
# 加入群晖IP是:192.168.1.100,则如下所示
192.168.1.100 mb3admin.com
在日志中发现会存在无法建立SsL连接的情况,爬贴后发现,是因为自签名证书不被Emby信任导致。这时候就需要我们将当初申请证书时,获取到的CA证书导入到Emby的可信任证书库中。docker 版本的话,需要先确认根证书文件是否由 host 端导入。整体操作流程,无论是套件版本还是 docker 版本,都大同小异。下面以套件版本为例进行说明。
一般根证书文件存储在
/etc
目录下,因此需要 root 权限才能完成。以下操作均在 root 用户下进行。
cd /volume1/web/mb3admin.com
cat mb3admin.com.cert.pem
-----BEGIN CERTIFICATE-----
开头,-----END CERTIFICATE-----
结尾:sudo mkdir -p /usr/syno/etc/security-profile/ca-bundle-profile/ca-certificates/;
cp /volume1/web/mb3admin.com/mb3admin.com.cert.pem /usr/syno/etc/security-profile/ca-bundle-profile/ca-certificates/mb3admin.com.crt;
/usr/syno/etc/security-profile/ca-bundle-profile/ca-certificates/ 这个路径是从update-ca-certificates.sh中获取的,不同系统的路径可能不同,建议先执行
sodu find / -name "update-ca-certificates
,查找这个文件。例如群晖7.1中,该文件位于 /usr/syno/bin 中。使用 cat 命令查看文件内容,找到USERCERTSDIR=xxxxxxx
行,“xxxxxxxx” 就是对应的路径
update-ca-certificates.sh
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。