解决windows下ariang无法使用https方式连接的问题

之前使用aria2的时候都是直接使用AriaNG的官方demo ,但是最近不知道怎么回事,访问非常缓慢,一气之下就准备在自己的服务器上使用了。安装一气呵成,但是连接的时候缺发现使用https访问webui系统默认不开放http连接,这可让我伤了脑筋,好一番折腾,终于搞好了。

前言

这个解决办法并不完美(在我看来),因为它会显示不安全的连接,强迫症会很难受。可以使用替代品,比如webui-aria2,但是这个webui的设置界面不太友好,所以我并不喜欢使用它。在我看来,最好用的还是AriaNG。

解决方法

有两种解决办法,一个是不使用https访问webui,另一个就是开启aria2的https连接功能。

注意事项

windows下aria2不支持PEM证书格式,需要转换为PKCS12格式。参见这里

证书的转换

首先需要获得一个证书,如果是pkcs12格式(.p12,.pfx后缀)可以跳过这一步,否则请跟着我操作。

如果不是上述的格式,那么就需要转换,比如我有一个PEM格式的证书,就需要转为pkcs12格式。需要用到openssl,目前没有windows客户端,所以需要在linux下操作。我是在ubuntu下进行的操作,命令如下:

openssl pkcs12 -export -in aaa.com.cer -inkey aaa.com.key -out aaa.com.pkcs12

将aaa.com改为你的域名就行了。然后将aaa.com.pkcs12拷贝回来。

aria.conf的设置

打开aria.conf文件

需要修改两行数据

将rpc-secure改为true,rpc-certificate改为你的证书路径,必须是绝对路径。

AriaNG设置

回到AriaNG可以尝试连接了,但是像往常一样连接还是连不上,怎么回事?

始终显示connecting,但是连不上。

原来是该死的Chrome搞的鬼,https访问时,不允许不安全的连接,所以需要手动访问一下aria2的rpc地址,比如我的是

https://127.0.0.1:6800/jsonrpc

chrome浏览器我已经访问过,并点击了接受风险,所以这里用firefox代替。

然后再回到webui,就可以看到连接成功了。