温馨提示×

centos jellyfin如何加密

小樊
45
2026-10-17 13:38:33
栏目: 网络安全

在 CentOS 上部署的 Jellyfin 默认是通过 HTTP 访问的,如果你想“加密”,通常指以下两种场景之一:


一、Jellyfin 访问加密(HTTPS,推荐)

方式 1:使用 Nginx 反向代理 + SSL(最常用)

1. 安装 Nginx

sudo yum install nginx -y
sudo systemctl enable --now nginx

2. 申请 SSL 证书(以 Let’s Encrypt 为例)

sudo yum install certbot python3-certbot-nginx -y
sudo certbot --nginx -d your.domain.com

3. 配置 Nginx 反向代理

编辑 /etc/nginx/conf.d/jellyfin.conf:

server {
    listen 80;
    server_name your.domain.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name your.domain.com;

    ssl_certificate /etc/letsencrypt/live/your.domain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/your.domain.com/privkey.pem;

    location / {
        proxy_pass http://127.0.0.1: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;
    }
}
sudo nginx -t
sudo systemctl restart nginx

访问:

https://your.domain.com

方式 2:Jellyfin 自带 HTTPS(不推荐公网)

Jellyfin → 控制台 → 网络

  • 启用 HTTPS
  • 上传证书(PEM + KEY)
  • 端口改为 8920

⚠️ 自签名证书浏览器会报警


二、Jellyfin 数据/账号加密(防本地泄露)

1. 用户密码(已默认加密)

Jellyfin 用户密码使用 PBKDF2 加密,无需额外操作。

2. 媒体文件加密(磁盘级)

# 使用 LUKS 加密磁盘
cryptsetup luksFormat /dev/sdb
cryptsetup open /dev/sdb secure
mkfs.ext4 /dev/mapper/secure

3. 数据库加密(可选)

Jellyfin 数据库文件在:

/var/lib/jellyfin/

可用 磁盘加密 或 文件夹权限 控制:

chmod 700 /var/lib/jellyfin
chown jellyfin:jellyfin /var/lib/jellyfin

三、增强安全建议

  • 关闭 Jellyfin 公网 8096 端口
  • 只暴露 443(Nginx)
  • 启用防火墙:
firewall-cmd --add-service=https --permanent
firewall-cmd --reload
  • 开启 Jellyfin 登录失败限制

如果你能说明:

  • 是 内网还是公网
  • 是否已有 域名
  • 想加密的是 传输还是存储

我可以给你更精确的方案。

0 踩