基于sitebox前端Nginx增加托管Ariang
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。 ...