Nginx 反向代理 Aria2 JSONRPC

给Aria2服务器所用的SSL证书往往不支持Aria2所使用的6800端口,而80/443端口还要提供HTTP服务,为此就需要用Nginx来实现同时提供HTTP和Aria2 JSONRPC服务了。

目前已经测试通过并部署到了生产服务器,本文只做一个记录。

最终效果:

1.禁止外网直接访问Aria2 RPC

修改Aria2配置文件

#允许所有来源, web界面跨域权限需要
rpc-allow-origin-all=false
#允许非外部访问
rpc-listen-all=false
#RPC端口, 仅当默认端口被占用时修改
rpc-listen-port=6800</pre>

2.修改你的站点的Nginx配置文件

#ARIA2
    location /jsonrpc {
        proxy_pass http://localhost:6800/jsonrpc;
        proxy_redirect off;
        proxy_set_header        X-Real-IP       $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $host;
        #以下代码使支持WebSocket
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }

其中 location /jsonrpc 表示设置好后RPC地址为 //example.com/jsonrpc

这样做还有一个好处,那就是不需要单独为Aria2 RPC服务器设置密码验证了。认证直接靠nginx完成,能见到webui就能连上ARIA2 RPC


转载请遵守 CC BY-NC-SA 4.0 协议并注明来自:Nginx 反向代理 Aria2 JSONRPC