Aria2设置https连接

这一章来讲讲Aria2设置https连接。上一章搭建了自己的云盘之后,遗留下来一个问题,原来我的Nginx还有一个Aria2下载服务,通过webui-aria2作为前端页面查看下载情况,但问题是那个页面原来是用http协议来访问操作的,自从设置了Nginx使用https协议之后,原来的链接连接不上Aria2服务了。

不知道如何在VPS上搭建Aria2下载环境的同学可以参考这篇文章。我先是按照这个帖子来修改我的aria2.conf文件,在我原来的基础之上添加三行代码

1
2
3
4
#支持https证书
rpc-secure=true
rpc-certificate=/etc/nginx/cert/nextcloud.crt
rpc-private-key=/etc/nginx/cert/nextcloud.key

上面用到的证书是我在搭建Nextcloud云盘时创建的,详见VPS搭建Nextcloud网盘,当然你可以自己再创建一个。

问题是我按照这种做法做了,重启Aria2之后,在我的浏览器上死活都连接不上。我很郁闷,但是看到最后一条回复说

OK, I resolved the issue only with Firefox

but GoogleChrome can’t connect to Aria2 via SSL,
Also I tried Opera at the same result as with GoogleChrome.

因为我只用Chrome,难道也是这个原因?我抱着一丝希望,下载了Firefox,再尝试了一次,没想到竟然连接成功了。期间浏览器可能会有缓存,建议清除缓存之后,再连接试试。

虽然火狐没问题,但是我依然很不爽,为什么Chrome就不行呢?不信邪的我,又在网上搜索,终于让我找到了这篇帖子,费了我九牛二虎之力。帖子提到了另外一种方法,就是先添加刚才的配置到aria2.conf文件,然后在nginx的网站配置文件中加入

1
2
3
4
5
6
7
8
9
10
11
12
location ^~ /jsonrpc {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_pass_header X-Transmission-Session-Id;
add_header Front-End-Https on;

proxy_pass https://127.0.0.1:6800/jsonrpc;
}

最后把rpc地址修改为https://yoursite.com:443/jsonrpc,大功告成。终于能在Chrome上连接上Aria2服务了。此时原来的默认端口6800就可以关闭了,当然也可以不用管它。

这篇文章本来到这里就可以结束了,但是细心的人可能会发现,使用http协议和https协议都可以访问你的域名网址,http协议是不安全的连接,不推荐使用。如何强制https协议呢?可以自行去网上搜一下,我因为使用了GoProxy-VPS占用了我的443端口,所以我的Nginx配置文件里不能再绑定443端口了,只能绑定80端口,强制使用https协议的几种方法,都被跳转到443端口,我这种情况就不适合使用了。期待更好的解决方法。

avatar

chilihotpot

You Are The JavaScript In My HTML