温馨提示×

ubuntu jellyfin如何进行远程访问

小樊
61
2025-09-23 15:37:56
栏目: 智能运维

1. 安装Jellyfin
首先确保Ubuntu系统已更新,然后通过官方仓库安装Jellyfin(推荐方式,保证软件安全性和及时更新):

sudo apt update && sudo apt upgrade -y
sudo apt install apt-transport-https ca-certificates curl gnupg -y
mkdir -p /etc/apt/keyrings
curl -fsSL https://repo.jellyfin.org/jellyfin_team.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/jellyfin.gpg
echo "deb [signed-by=/etc/apt/keyrings/jellyfin.gpg] https://repo.jellyfin.org/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/jellyfin.list
sudo apt update
sudo apt install jellyfin -y

安装完成后,Jellyfin会自动启动,可通过http://服务器局域网IP:8096访问Web配置界面。

2. 配置Jellyfin允许远程访问
编辑Jellyfin的主配置文件,修改监听地址和端口:

sudo nano /etc/default/jellyfin

找到以下两行(默认可能被注释),取消注释并修改:

JELLYFIN_ADDRESS=0.0.0.0  # 允许所有IP地址访问(若需限制特定IP,可替换为具体IP)
JELLYFIN_PORT=8096        # 默认端口(可自定义,如8080,需与后续配置一致)

保存文件后,重启Jellyfin服务使更改生效:

sudo systemctl restart jellyfin
```。


**3. 配置防火墙放行端口**  
若服务器启用了`ufw`防火墙(Ubuntu默认防火墙工具),需允许Jellyfin端口通过:  
```bash
sudo ufw allow 8096/tcp  # 若修改了端口,替换为实际端口
sudo ufw enable          # 若未启用防火墙,执行此命令开启
sudo ufw status          # 查看防火墙规则,确认端口已放行
```。


**4. 配置端口转发(非局域网环境必备)**  
若服务器位于路由器后方(如家庭宽带),需在路由器中设置端口转发,将外部请求转发到服务器内部IP:  
- 获取服务器局域网IP(通过`ip a`或`ifconfig`命令查看,如`192.168.1.100`);  
- 登录路由器管理界面(通常在浏览器输入`192.168.1.1`),找到“端口转发”“虚拟服务器”或类似选项;  
- 添加新规则:**外部端口**(如8888,自定义且未被占用)、**内部IP**(服务器局域网IP)、**内部端口**(Jellyfin端口,如8096);  
- 保存规则并重启路由器。


**5. (可选但推荐)配置反向代理(提升安全性与易用性)**  
反向代理可通过Nginx或Apache将外部HTTPS请求转发到Jellyfin的HTTP服务,实现加密访问(避免直接暴露8096端口)。以Nginx为例:  
- 安装Nginx:  
  ```bash
  sudo apt install nginx -y
  sudo systemctl start nginx && sudo systemctl enable nginx
  • 配置Nginx反向代理:创建/etc/nginx/sites-available/jellyfin文件,添加以下内容(替换your_domain.com为你的域名或公网IP):
    server {
        listen 80;
        server_name your_domain.com;
        return 301 https://$host$request_uri;  # 强制跳转HTTPS
    }
    
    server {
        listen 443 ssl;
        server_name your_domain.com;
    
        # SSL证书路径(需提前通过Certbot获取,见下一步)
        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://localhost:8096;  # 转发到Jellyfin服务
            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 ln -s /etc/nginx/sites-available/jellyfin /etc/nginx/sites-enabled/
    sudo nginx -t  # 测试配置语法
    sudo systemctl restart nginx
    ```。
    
    
    

6. (可选)配置SSL证书(启用HTTPS)
为避免数据传输被窃取,建议为Jellyfin配置SSL证书(通过Let’s Encrypt免费获取)。使用Certbot工具自动安装:

sudo apt install certbot python3-certbot-nginx -y  # 若使用Nginx反向代理
sudo certbot --nginx -d your_domain.com  # 替换为你的域名

Certbot会自动配置Nginx的SSL证书,并设置自动续期(无需手动操作)。

7. 测试远程访问
完成上述配置后,从远程设备(如手机、电脑)的浏览器输入以下地址访问:

  • 若配置了反向代理和域名:https://your_domain.com
  • 若未配置域名:https://服务器公网IP:外部端口(如https://123.45.67.89:8888

输入Jellyfin管理员账号密码即可登录,正常显示媒体库即表示远程访问成功。

注意事项

  • 若服务器无公网IP,可使用内网穿透工具(如cpolar、花生壳)生成公网URL,步骤类似反向代理但无需配置域名;
  • 定期更新Jellyfin、Nginx、Ubuntu系统及防火墙规则,确保安全性;
  • 避免使用弱密码,建议开启Jellyfin的用户认证和权限控制。

0