在 lx-music 同步服务器的官方文档中,提到了可以使用 ngnix 服务器来代理并使用 ssl 加密。不过笔者的 1h1g vps上使用的是 apache2 服务器,借助 deepseek 的力量,成功参照官方配置 ngnix 服务器的文档,使用 apache2 服务器实现代理并使用 ssl 加密。
准备工作:
debian 12 vps 一个,托管在 cloudflare 的域名一个,vps 已安装 apache2 服务器,若未安装,执行以下命令安装:
sudo apt update && sudo apt install apache2 -y
cloudflare 配置:
进入你托管域名的仪表板,点击 dns 记录,点击添加记录,添加一条记录,类型选择 A,名称为 lx-music(可以按你的喜好替换),ipv4填你的 vps ipv4 地址,启用代理,最后保存。添加后如图所示:

完成后,点击 ssl/tls,选择源服务器,若无证书,选择创建证书,保存对应的 key 和 pem,若已有证书,下载保存。
将证书 key 和 pem 上传到 服务器的 /etc/ssl/you_domain(按需替换)目录下。若目录不存在,请先创建。完成后,如下图所示:

最后,添加缓存绕过规则,避免出现问题。
点击缓存,选择 Cache Rules,点击创建规则,如下图所示:

完成后保存,至此,cloudflare 配置部分结束。
apache2 服务器配置:
使用以下命令启用必须的 apache2 服务器模块
sudo a2enmod proxy proxy_http proxy_wstunnel headers rewrite
在 /etc/apache2/sites-available/ 目录下,新建一个名称为 lx-music.you_domain.conf 的配置文件,名称与 cloudflare 上的 dns 记录保持一致。
*注意⚠️:请将 lx-music.you_domain.conf 替换为你的域名!!!
sudo vim lx-music.you_domain.conf
向该配置文件,添加以下参考以下参考配置:
*注意⚠️:要将对应的域名替换为你的域名!!!同时注意证书文件的路径!!!
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName lx-music.145914.xyz
# SSL 配置
SSLEngine On
SSLCertificateFile /etc/ssl/145914.xyz/145914.xyz.crt
SSLCertificateKeyFile /etc/ssl/145914.xyz/145914.xyz.key
SSLCertificateChainFile /etc/ssl/145914.xyz/145914.xyz.crt
# 反向代理配置
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://localhost:9527/
ProxyPassReverse / http://localhost:9527/
# 传递认证头
RequestHeader set Authorization "expr=%{HTTP:Authorization}"
# 设置请求头
RequestHeader set Host "%{HTTP_HOST}e"
RequestHeader set X-Real-IP "%{REMOTE_ADDR}e"
RequestHeader set X-Forwarded-For "%{REMOTE_ADDR}e"
RequestHeader set Upgrade "websocket" env=HTTP_UPGRADE
RequestHeader set Connection "upgrade" env=HTTP_UPGRADE
# WebSocket支持(强制升级连接)
RewriteEngine On
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteRule /(.*) ws://127.0.0.1:9527/$1 [P,L]
# 可选:设置超时和日志
ProxyTimeout 300
ErrorLog ${APACHE_LOG_DIR}/lx-music_error.log
CustomLog ${APACHE_LOG_DIR}/lx-music_access.log combined
</VirtualHost>
</IfModule>
完成后,启用域名并重启 apache2 服务器,检查配置文件语法:
*注意⚠️:请将 lx-music.145914.xyz.conf 替换为你的域名!!!
sudo a2ensite lx-music.145914.xyz.conf && sudo systemctl restart apache2 && sudo apache2ctl configtest
检查 apache2 服务器,确保处于活跃状态:

至此,apache2 服务器部分配置完成。
下载并运行 lx-music sync 服务器:
安装运行环境:
sudo apt install nodejs -y
安装完成后,使用
node -v
查看 nodejs 版本号。

安装pm2
sudo npm i -g pm2
至此,完成所需运行环境的安装。
下载 lx music 同步服务器:
截至发文时,lx-music sync 服务器最新版本为 v2.1.2
lx music sync 源码地址:
https://github.com/lyswhut/lx-music-sync-server
使用 wget 下载 最新的 lx-music sync 服务器
wget https://github.com/lyswhut/lx-music-sync-server/archive/refs/tags/v2.1.2.tar.gz
下载完成后,解压到当前目录:
tar -xzvf v2.1.2.tar.gz
解压完成后,进入服务器目录安装依赖:
cd lx-music-sync-server-2.1.2 && npm ci --omit=dev
完成后,编辑 config.js 文件进行配置:
vim config.js
取消所有选项的注释,设置name,password,修改 ‘proxy.enabled’ 为 true,其余选项保持默认。保存退出。
启动服务器:
npm run prd

查看启动日志,若无错误则启动成功
pm2 logs
访问 https://lx-music.you_domain/hello,出现 Hello~::^-^::~v4~ 说明已经可以正常访问 lx music 同步服务器了。

现在,一个有 ssl 加密的 lx music 同步服务器就搭建完成了。