Aira2-WebUI使用SSL/TLS连接到服务器

最近在使用Aria2进行下载时,因为服务器使用了内网穿透,所以需要在WebUI中将端口设置为公网服务器的端口.但是,最近发现,WebUI使用了SSL证书后,连接会报错’Web sockets not working due to Failed to construct ‘WebSocket’: An insecure WebSocket connection may not be initiated from a page loaded over HTTPS.’因为内网穿透过来的没有使用加密,所以WebUI不接受这个参数.

申请SSL证书

因为方便,于是就申请了一个泛解析证书.该主域名下的任何子域名都可以使用这个证书.使用acme.sh来申请证书.

安装acme.sh

acme.sh是一个实现了 acme 协议的脚本,可以从 Let’s Encrypt 生成我们需要的泛解析SSL证书.当然,你用来生产普通证书也是没有问题的。
项目链接:Github
安装过程不会修改已有的任何系统功能和文件,请放心食用. acme.sh在程序结束后会被自动安装到~/.acme.sh/目录中,可以随时删除该目录,不会影响到系统.

获取API Token

我使用了阿里云的API.点击此处跳转
使用其他厂商的API点击此处跳转

配置acme.sh

将获取到的两个值设置为环境变量.

1
2
export Ali_Key="你的 AccessKey ID"
export Ali_Secret="你的 AccessKey Secret"

申请证书

1
2
3
cd ~/.acme.sh/
./acme.sh --register-account -m your-email@example.com
./acme.sh --issue --dns dns_ali -d example.com -d *.example.com

申请完成后,会显示证书所在的路径.

修改Aria2配置文件

在配置文件中添加

1
2
3
4
5
6
#是否启用RPC服务的SSL/TLS加密
rpc-secure=true
#申请的域名crt证书文件路径,自行修改
rpc-certificate=/home/example.com.crt
#申请的域名key证书文件路径,自行修改
rpc-private-key=/home/example.com.key

修改完成后,重新启动Aria2即可

修改WebUI中的连接参数


主机设置为你的公网IP或者域名,端口设置为你的内网穿透之后的端口,勾选SSL/TLS加密,如果你启动Aria2服务时设置了密码,则在密码令牌中输入你设置的密码.这样,Aria2 WebUI就可以加密连接到服务器了.


Aira2-WebUI使用SSL/TLS连接到服务器
https://blog.hasong.top/2024/08/01/Aria2-WebUI使用加密连接到服务器/
Author
hasong
Posted on
August 1, 2024
Licensed under