AriaNg 是一个纯静态的前端单页应用(HTML/CSS/JS),它本身不需要任何后端环境(PHP、Node 等),它只负责在浏览器里运行,然后通过 WebSocket/HTTP 请求去连接 aria2 服务端的 RPC 接口。
因此,用 Nginx 托起 AriaNg 非常简单,本质上就是多托管一个静态文件夹。
有两种常见的方式来实现:
- 子目录访问(推荐):比如通过
http://你的IP/ariang访问。 - 新开一个端口:比如通过
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;
}
}
具体操作步骤
下载并解压 AriaNg: 去 AriaNg Github Releases 下载最新版的
AriaNg-x.x.x.zip。放置文件: 在Nginx 容器(或服务器)里,进入目录
/usr/share/nginx/html,新建一个叫ariang的文件夹,并把 zip 里的文件全都解压进去。 确保目录结构类似这样:/usr/share/nginx/html/ ├── index.html <-- 导航页的主页 ├── ... (导航页其他文件) └── ariang/ <-- 新建的文件夹 ├── index.html <-- AriaNg 的主页 ├── css/ ├── js/ └── fonts/重载 Nginx 配置: 执行
nginx -s reload(如果是 docker,执行docker exec -it <容器名> nginx -s reload)。访问: 打开浏览器,访问
http://你的IP/ariang/即可看到 AriaNg 的界面!
💡 友情提示:连接后台 Aria2
Nginx 到这里仅仅是帮你**“加载”了 AriaNg 的网页画面。
AriaNg 网页加载出来后,会提示“未连接”。你需要点击左侧的“AriaNg 设置” -> “RPC”**,填入你的 Aria2 服务端的真实 IP 和 RPC 端口(默认通常是 6800),填好 RPC 密钥,状态变成“已连接”就可以正常愉快地使用了。