AriaNg 是一个纯静态的前端单页应用(HTML/CSS/JS),它本身不需要任何后端环境(PHP、Node 等),它只负责在浏览器里运行,然后通过 WebSocket/HTTP 请求去连接 aria2 服务端的 RPC 接口。

因此,用 Nginx 托起 AriaNg 非常简单,本质上就是多托管一个静态文件夹

有两种常见的方式来实现:

  1. 子目录访问(推荐):比如通过 http://你的IP/ariang 访问。
  2. 新开一个端口:比如通过 http://你的IP:8080 访问。

方法一(子目录访问)是最完美且方便的。下面是修改好的配置:

修改后的 Nginx 配置(子目录方式)

假设你将 AriaNg 的网页文件解压到了 /usr/share/nginx/html/ariang 文件夹下。

server {
    listen 80;
    server_name localhost; # 监听域名,可以根据需要修改

    root /usr/share/nginx/html; # 前端静态文件根目录
    index index.html;
    # =======================================================
    # 处理 favicon.ico 请求(直接提供文件)
    location = /favicon.ico {
        expires 30d;
        add_header Cache-Control "public, immutable";
    }
    # ================= 新增:AriaNg 的配置 =================
    # 访问 http://IP/ariang/ 就会打开 AriaNg
    location ^~ /ariang/ {
        # 这里复用外层的 root 目录,Nginx 会自动去寻找 /usr/share/nginx/html/ariang
        root /usr/share/nginx/html;
        index index.html;

        # AriaNg 是 hash 路由(带有 # 的 URL),所以不需要像主页那样重定向 /index.html
        try_files $uri $uri/ =404;
    }
    # =======================================================
    # 个人导航主站 (必须放在特定的 location 后面)
    location / {
        try_files $uri $uri/ /index.html; # SPA 应用,处理路由问题
    }

    location /api/ {
        # 直接代理到变量地址,完美支持 IP 或 域名
        proxy_pass ${BACKEND_PROTO}://${BACKEND_ADDR};

        # 强制设置 Host 头,对云服务/外部域名极其重要
        proxy_set_header Host ${BACKEND_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;

        # 开启 SNI 支持:如果是 https 域名,这行保命;如果是 http IP,这行无副作用
        proxy_ssl_server_name on;
    }
}

具体操作步骤

  1. 下载并解压 AriaNg: 去 AriaNg Github Releases 下载最新版的 AriaNg-x.x.x.zip

  2. 放置文件: 在Nginx 容器(或服务器)里,进入目录 /usr/share/nginx/html,新建一个叫 ariang 的文件夹,并把 zip 里的文件全都解压进去。 确保目录结构类似这样:

    /usr/share/nginx/html/
      ├── index.html        <-- 导航页的主页
      ├── ... (导航页其他文件)
      └── ariang/           <-- 新建的文件夹
           ├── index.html   <-- AriaNg 的主页
           ├── css/
           ├── js/
           └── fonts/
    
  3. 重载 Nginx 配置: 执行 nginx -s reload (如果是 docker,执行 docker exec -it <容器名> nginx -s reload)。

  4. 访问: 打开浏览器,访问 http://你的IP/ariang/ 即可看到 AriaNg 的界面!

💡 友情提示:连接后台 Aria2

Nginx 到这里仅仅是帮你**“加载”了 AriaNg 的网页画面。 AriaNg 网页加载出来后,会提示“未连接”。你需要点击左侧的“AriaNg 设置” -> “RPC”**,填入你的 Aria2 服务端的真实 IP 和 RPC 端口(默认通常是 6800),填好 RPC 密钥,状态变成“已连接”就可以正常愉快地使用了。