MENU

Nginx 反代 Aria2 并开启 WebDAV

2019 年 11 月 20 日 • 阅读: 6140 • 后端

Aria2 是知名的 HTTP、FTP、 BT 和磁力多线程下载软件,支持 RPC 远程调用。可搭配 Rclone 实现资源下载后 自动上传 OneDrive、Google Drive 等网盘,或者使用 Nginx 开启 WebDAV,Android、iOS、Windows、macOS 和 Linux 使用相应客户端或浏览器拉取资源,直接播放。

使用 Nginx 反代 Aria2 可避免直接 暴露 TCP 端口,且可利用网站 已有 SSL 证书,无需单独配置。

Aria2 配置

enable-rpc=true
rpc-listen-all=false
rpc-allow-origin-all=false
rpc-secret=logi # 密码

Nginx 配置

# 反代 Aria2
location /jsonrpc {
    proxy_pass http://localhost:6800/jsonrpc;
    proxy_redirect off;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
}

# 开启 WebDAV
location /downloads {
    auth_basic "username and password needed";
    auth_basic_user_file /etc/nginx/.htpasswd; # 密码文件

    root /mnt/hardisk/download/; # Aria2 下载目录
    dav_methods PUT DELETE MKCOL COPY MOVE;
    dav_ext_methods PROPFIND OPTIONS;
    dav_access user:rw group:rw all:r;
    client_max_body_size 0;
    create_full_put_path on;
    charset utf-8;
    autoindex on;
    autoindex_localtime on;
    autoindex_exact_size off;
}

WebDAV 部分的密码文件可用下面的命令生成,其中 logi1234 分别为用户名及密码。

if [[ ! "$(command -v htpasswd)" ]]; then
    SYSTEM_APT=$(command -v yum)
    REQUIERMENT=httpd-tools
    if [[ ! "$SYSTEM_APT" ]]; then
        SYSTEM_APT=$(command -v apt)
        REQUIERMENT=apache2-utils
    fi
    eval $SYSTEM_APT install -y $REQUIERMENT
fi

htpasswd -bc /etc/nginx/.htpasswd logi 1234

最后重启 nginx。

nginx -s reload
TG 大佬群 QQ 大佬群

最后编辑于: 2019 年 11 月 24 日
返回文章列表 文章二维码
本页链接的二维码
打赏二维码
添加新评论

Loading captcha...