在CentOS上配置Jellyfin的SSL证书,通常需要以下几个步骤:
获取SSL证书:
安装Certbot: 如果你还没有安装Certbot,可以使用以下命令来安装它:
sudo yum install epel-release
sudo yum install certbot python3-certbot-nginx
获取并安装SSL证书: 使用Certbot获取SSL证书,并自动配置Nginx(假设你使用Nginx作为Web服务器):
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
按照提示操作,Certbot会自动配置Nginx并重启服务。
配置Jellyfin使用SSL: Jellyfin可以通过多种方式配置SSL,包括直接在Jellyfin的配置文件中设置或者通过反向代理(如Nginx)来处理SSL。
直接在Jellyfin配置文件中设置:
编辑Jellyfin的配置文件/opt/jellyfin/config/config.xml,找到<httpPort>标签,将其值改为8096(或其他非标准HTTP端口),然后添加或修改<httpsPort>标签,将其值设为8443(或其他非标准HTTPS端口)。保存文件后,重启Jellyfin服务:
sudo systemctl restart jellyfin
通过Nginx反向代理设置:
如果你希望通过Nginx来处理SSL,可以编辑Nginx的配置文件(例如/etc/nginx/conf.d/yourdomain.conf),添加如下配置:
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name yourdomain.com www.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
location / {
proxy_pass http://localhost:8096;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
保存文件后,重启Nginx服务:
sudo systemctl restart nginx
更新Jellyfin配置: 如果你更改了Jellyfin的HTTP端口,需要在Jellyfin的Web界面中更新设置,确保它使用新的HTTPS端口。
完成以上步骤后,你的Jellyfin实例应该已经通过SSL证书安全地运行了。记得定期更新你的SSL证书,因为Let’s Encrypt的免费证书通常有效期为90天。