事件描述
-
Aria2能被其他应用程序访问到,即ws://$YOURIP$:6800/jsonrpc能够下载
-
AriaNg (HTTPS)连接时提示未连接,打开Console控制台,一片红色:
#!/settings/ariang:1 Access to XMLHttpRequest at 'null://$YOURIP$:6080/jsonrpc' from origin 'https://ariang.js.org' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, isolated-app, chrome-extension, chrome-untrusted, https, edge. null://$YOURIP$:6080/jsonrpc:1 Failed to load resource: net::ERR_FAILED
调查过程
省流:关闭HTTPS连接,转到AriaNg (HTTP)。
-
首先我想到的是,既然能够远程下载,那么端口不应该出现被关闭的情况;但抱着试一试的心态,依旧尝试打开端口,未果。这时我已经大概猜到可能是HTTP的问题,因为他已禁用。
-
想到是否大大的一键脚本权限不足?尝试sudo执行,未果。
-
换个端口?未果。
-
打算换一个脚本,不过全网大多数是P3TERX.COM大大制作的脚本(感谢!),但我还是找到了其他作者的脚本,bash,运行,打开浏览器,$YOURIP$:6080,行云流水。结果是,能够正常连接。那我就纳闷了。
-
我想看看到底为什么不给我选择HTTP连接,然后我的鼠标移动到了小问号上,好家伙。
使用Https访问AriaNg时,Http和WebSocket将被禁用。
-
事已至此,(先吃饭吧),那我就改成全站HTTPS算了。
全站HTTPS
Aria2自带的设置略有些繁琐,此处使用一种较为简单的方法。
在Nginx配置文件中加入如下语句:
location ^~ /jsonrpc { proxy_http_version 1.1; add_header Front-End-Https on; proxy_set_header Connection ""; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:6800/jsonrpc; proxy_pass_header X-Transmission-Session-Id; }
尽情享受吧!
参考资料:
http被禁用的问题 · Issue #152 · mayswind/AriaNg (github.com)
宝塔面板Cloudreve+Aria2配置离线下载 - 大鸟博客 (daniao.org)
取巧办法使用HTTPS链接Aria2 - Phenxso | 梦旅奈
另一位作者大大:helloxz/ccaa: Linux一键安装Aria2 + AriaNg + FileBrowse实现离线下载、文件管理。 (github.com)