温馨提示×

centos jellyfin怎么绑定域名

小樊
44
2026-09-02 21:24:17
栏目: 云计算

CentOS 上给 Jellyfin 绑定域名,通常分三步:解析域名 → 用 Web 服务器反代 → 配置 HTTPS(可选但推荐)。下面给你一套最常用、稳定的方案(Nginx + 域名 + HTTPS)


一、前提条件

  1. 你已有域名(如 media.example.com
  2. 域名已解析到 CentOS 服务器公网 IP
  3. Jellyfin 已安装并运行(默认端口 8096
  4. CentOS 已开放防火墙端口(80 / 443)

二、安装 Nginx(如果还没装)

sudo yum install epel-release -y
sudo yum install nginx -y
sudo systemctl enable nginx
sudo systemctl start nginx

三、配置 Nginx 反向代理 Jellyfin

1️⃣ 创建配置文件

sudo vi /etc/nginx/conf.d/jellyfin.conf

2️⃣ 写入以下内容(替换域名)

server {
    listen 80;
    server_name media.example.com;

    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;

        # WebSocket 支持(Jellyfin 必须)
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

3️⃣ 测试并重启 Nginx

sudo nginx -t
sudo systemctl restart nginx

✅ 此时访问 http://media.example.com 就能打开 Jellyfin


四、开启 HTTPS(强烈推荐)

使用 Let’s Encrypt 免费证书

sudo yum install certbot python3-certbot-nginx -y
sudo certbot --nginx -d media.example.com

按提示操作,证书会自动配置好。

✅ 访问 https://media.example.com


五、Jellyfin 内部设置(重要)

1️⃣ 登录 Jellyfin

控制台 → 网络

勾选或填写:

  • ✅ 允许通过反向代理
  • 公开域名:https://media.example.com
  • 反向代理地址:https://media.example.com

2️⃣ 关闭直接访问(可选)

如果你只允许域名访问

  • 防火墙只放行 80 / 443
  • 不开放 8096 公网端口

六、防火墙设置(CentOS)

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

七、常见问题

❌ 能开网页但播放卡 / 一直转圈

→ 检查 Nginx 是否支持 WebSocket(上面配置已包含)

❌ 提示 “反向代理检测失败”

→ Jellyfin 网络设置里域名必须和访问地址完全一致

❌ 外网无法访问

→ 检查云厂商安全组 + CentOS 防火墙


八、可选增强

  • 开启 HTTP/2
  • 限制 IP 访问(家庭用)
  • 使用 Cloudflare 隐藏真实 IP
  • Docker 部署 + Nginx 反代

如果你告诉我:

  • ✅ CentOS 版本(7 / 8 / Stream)
  • ✅ Jellyfin 是 rpm 安装 还是 Docker
  • ✅ 是否用 Cloudflare

我可以直接给你精准配置

0