Nginx 反向代理 Aria2 JSONRPC

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

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

最终效果:

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

修改Aria2配置文件

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

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

  1. #ARIA2
  2. location /jsonrpc {
  3. proxy_pass http://localhost:6800/jsonrpc;
  4. proxy_redirect off;
  5. proxy_set_header X-Real-IP $remote_addr;
  6. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  7. proxy_set_header Host $host;
  8. #以下代码使支持WebSocket
  9. proxy_http_version 1.1;
  10. proxy_set_header Upgrade $http_upgrade;
  11. proxy_set_header Connection "upgrade";
  12. }

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

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


0  字
评论