Meting API 的容器化部署

参考 xizeyoupan/Meting-API: 🐳 Meting API 的容器化与部署 (github.com)

运行下面的命令下载 Meting-API 镜像

docker pull intemd/meting-api:latest

然后运行 Meting-API 即可

docker run -d --name meting -p 3000:3000 intemd/meting-api:latest

希望docker服务重启或服务器重启时,Meting-API也能重启

docker container update --restart=always meting

Nginx反向代理启用https

这里有一个坑,如图所示,注意location内的内容

使用二级域名复用443端口时,正确的写法如下

server {
    listen 443 ssl;
    server_name webmusicapi.colorfulstage.cn;

    ssl_certificate  /home/webmusicapi.colorfulstage.cn_nginx/webmusicapi.colorfulstage.cn_bundle.pem;
    ssl_certificate_key /home/webmusicapi.colorfulstage.cn_nginx/webmusicapi.colorfulstage.cn.key;

    location  /{
        proxy_set_header X-Forwarded-Url $scheme://$host:$server_port;
        proxy_pass http://localhost:3000;
    }
}

之后执行nginx -s reload重新加载配置即可愉快地使用API

[进阶] API防盗链配置

server{}中添加referer限制,可以限制为只允许自己的主站,以*.colorfulstage.cn;为例

valid_referers *.colorfulstage.cn;
if ($invalid_referer) {
    return 403;
}

完整配置如下

server {
    listen 443 ssl;
    server_name webmusicapi.colorfulstage.cn;

    ssl_certificate  /home/webmusicapi.colorfulstage.cn_nginx/webmusicapi.colorfulstage.cn_bundle.pem;
    ssl_certificate_key /home/webmusicapi.colorfulstage.cn_nginx/webmusicapi.colorfulstage.cn.key;

    valid_referers *.colorfulstage.cn;
    if ($invalid_referer) {
        return 403;
    }

    location  /{
        proxy_set_header X-Forwarded-Url $scheme://$host:$server_port;
        proxy_pass http://localhost:3000;
    }
}
最后更新于 2023-08-04