小白教程 AList嵌入动态验证码实现引流

之前不是写了一篇文章嘛,https://www.itwk.cc/post/2194.html ,写了怎么搞个动态验证码进行验证后才能进行访问Alist 然后这个可能对小白不太友好,这里我写篇详尽文章教大家如何使用AList嵌入动态验证码

准备工作

  • 一台国内服务器
  • 已备案域名
  • 微信订阅号一个

环境准备

搭建一个Web服务器环境是创建和维护网站的基础步骤。对于有经验的开发者来说,这个过程可能已经非常熟悉了。但对于那些刚开始接触建站的朋友,建议您先去看一下如何建站

安装Node.js

Node.js是一个开源、跨平台的JavaScript运行时环境,它允许开发者在服务器端运行JavaScript代码,本程序后端就是基于Node.js编写的,如果您不了解Node.js 那您更应该仔细看这部分内容了

以我的 Debian系 主机环境为例

1,下载安装Node.js (18+版本均可)

下载地址:https://nodejs.cn/download/

或者直接执行如下命令

wget https://npmmirror.com/mirrors/node/v20.18.0/node-v20.18.0-linux-x64.tar.xz

下载完成后将 node-v20.18.0-linux-x64.tar.xz 解压到当前文件夹,会得到 node-v20.18.0-linux-x64

node-v20.18.0-linux-x64文件夹移动到/usr/local/node 目录中,并重命名为node

2,配置 Node.js 环境

编辑/etc/profile 文件

最底部添加如下内容

export NODE_HOME=/usr/local/node
export PATH=$NODE_HOME/bin:$PATH

保存之后执行 source /etc/profile 使其生效。

3,配置镜像加速

由于某些原因, npmjs.com 在国内的访问速度很不稳定。 所以我们可以考虑用国内的镜像网站地址替换,执行如下命令,配置为国内镜像源

npm config set registry https://registry.npmmirror.com

4,克隆仓库

我将这个项目的代码上传到了GitHub,可直接从github获取

地址:Alist_Dynamic_verification: Alist AList嵌入动态验证码工具 (github.com)

5,安装依赖

cd Alist_Dynamic_verification
npm install

6,配置微信订阅号相关信息

编辑 .env 配置相关信息(后面配置也可以)

WECHAT_APPID=
WECHAT_SECRET=
WECHAT_TOKEN=
ENCODING_AES_KEY=
PORT=4000 # 后端运行端口,对接微信
VERIFY_PORT=4001 # 验证接口的端口,对接前端验证验证码用的
# 端口可以不定义 默认就是上面那俩

7,启动

node run serve

8,配置反向代理

因为微信公众号强制要求使用HTTP/HTTPS端口,这里以Nginx为例,配置反向代理

我这里用了两个域名,例如;

  • test.example.com(用于对接微信公众平台)
  • verify.example.com(用于验证验证码的)

nginx配置文件如下

test.example.com

server {
   listen 80;
   server_name test.example.com;
   return 301 https://$host$request_uri;
}

server {
   listen 443 ssl;
   server_name test.example.com;
   # SSL 配置
   ssl_certificate /etc/ssl/certs/certificate.crt;
   ssl_certificate_key /etc/ssl/private/private_key.key;
   ssl_protocols TLSv1.2 TLSv1.3;
   ssl_ciphers HIGH:!aNULL:!MD5;
   
   location / {
       proxy_pass http://localhost:4000;
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header X-Forwarded-Proto $scheme;
  }
}

verify.example.com

server {
   listen 80;
   server_name verify.example.com;
   return 301 https://$host$request_uri;
}

server {
   listen 443 ssl;
   server_name verify.example.com;
   # SSL 配置
   ssl_certificate /etc/ssl/certs/certificate.crt;
   ssl_certificate_key /etc/ssl/private/private_key.key;
   ssl_protocols TLSv1.2 TLSv1.3;
   ssl_ciphers HIGH:!aNULL:!MD5;
   
   location / {
       proxy_pass http://localhost:4001;
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header X-Forwarded-Proto $scheme;
  }
}

二合一配置

server {
   listen 80;
   server_name test.example.com;

   return 301 https://$host$request_uri;
}
server {
   listen 443 ssl;
   server_name test.example.com;
   
   ssl_certificate /etc/ssl/certs/certificate.crt;
   ssl_certificate_key /etc/ssl/private/private_key.key;
   ssl_protocols TLSv1.2 TLSv1.3;
   ssl_ciphers HIGH:!aNULL:!MD5;

   location / {
       proxy_pass http://localhost:4000/;
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header X-Forwarded-Proto $scheme;
  }
   location /verify/ {  # 将 /verify/ 路径的请求转发到 4001 端口
       proxy_pass http://localhost:4001/;
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header X-Forwarded-Proto $scheme;
  }
}

9、公众号配置

小白教程 AList嵌入动态验证码实现引流

如上图所示,服务器地址(URL) 配置为 http://你的域名.com/eventCall/,并配置好其他参数即可

10,开机自动运行(systemd)

/etc/systemd/system/目录创建一个service文件, 定义如下内容

[Unit]
Description=Alist_Dynamic_verification
After=network.target

[Service]
ExecStart=/usr/local/node/bin/npm run serve # npm全路径,按照你的安装位置修改
WorkingDirectory= # 你的项目目录
# Environment=NODE_ENV=production
Restart=always

[Install]
WantedBy=multi-user.target

完了 daemon-reload一下 enable --now运行服务就可以了

Alist验证代码:https://www.wanghaoyu.com.cn/archives/alist-auth-all.html

本文 小白教程 AList嵌入动态验证码实现引流 https://www.itwk.cc/post/2287.html 所涉及的软件均源自于网络。

不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。

本站信息来自网络,版权争议与本站无关,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。

访问和下载本站内容,说明您已同意上述条款。

本站为非盈利性站点,VIP功能仅仅作为用户喜欢本站捐赠打赏功能,本站不贩卖软件,所有内容不作为商业行为。

GeekShare的头像GeekShare超级赞助VIP管理员
上一篇 2024年10月10日 下午10:42
下一篇 2024年10月13日 下午12:47

相关推荐

微信公众号
微信公众号
联系邮箱
分享本页
返回顶部
公告:目前本站已完成整改,因更换主题的原因订单会丢失,如有问题请站内信私信我,谢谢!