You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Webhook端点接收HTTPS请求(Apache2+Node.js环境)

配置Apache反向代理完成Messenger Webhook校验

你的Node服务默认监听1337端口,Apache作为前端Web服务接收443端口的HTTPS请求,需要通过反向代理规则将/webhook路径的请求转发到本地Node服务,同时保证Messenger校验所需的请求参数不丢失。

操作步骤

  • 启用Apache代理相关模块
    执行以下命令加载反向代理依赖模块,完成后重启Apache:
    sudo a2enmod proxy proxy_http rewrite headers
    sudo systemctl restart apache2
    
  • 修改对应域名的SSL虚拟主机配置
    找到域名对应的HTTPS配置文件,通常路径为/etc/apache2/sites-available/<你的域名>-le-ssl.conf(certbot签发证书时默认生成的配置路径),在<VirtualHost *:443>配置块内添加以下规则:
    # 仅转发webhook路径请求到本地1337端口的Node服务
    ProxyPass /webhook http://127.0.0.1:1337/webhook
    ProxyPassReverse /webhook http://127.0.0.1:1337/webhook
    
    # 透传原始请求头,避免校验参数丢失
    ProxyPreserveHost On
    RequestHeader set X-Forwarded-Proto "https"
    RequestHeader set X-Real-IP %{REMOTE_ADDR}s
    

    注意:不要配置整站转发规则,仅转发/webhook路径即可,避免影响站点其他路径的正常访问。

  • 校验配置并重载Apache
    执行配置语法检查,确认无报错后重载服务使规则生效:
    sudo apache2ctl configtest
    # 命令输出Syntax OK后执行重载
    sudo systemctl reload apache2
    
  • 确认Webhook校验逻辑正确
    Messenger校验回调地址时会发送GET请求到webhook路径,需要在Node服务中实现对应校验逻辑,返回要求的challenge值,最简Express实现示例:
    // 处理Facebook的URL校验请求
    app.get('/webhook', (req, res) => {
      // 替换为你在Facebook开发者后台填写的自定义校验令牌
      const WEBHOOK_VERIFY_TOKEN = "你的自定义校验令牌";
      const mode = req.query['hub.mode'];
      const token = req.query['hub.verify_token'];
      const challenge = req.query['hub.challenge'];
    
      if (mode === 'subscribe' && token === WEBHOOK_VERIFY_TOKEN) {
        // 校验通过,原样返回challenge值
        res.status(200).send(challenge);
      } else {
        res.sendStatus(403);
      }
    });
    
    // 服务启动监听
    app.listen(process.env.PORT || 1337);
    

常见排查点

  • 本地执行curl http://127.0.0.1:1337/webhook确认Node服务正常运行,无端口占用、进程崩溃问题;如果用pm2等进程管理器托管服务,执行pm2 status确认服务处于online状态,日志无报错
  • 确认服务器安全组、防火墙开放443端口,域名绑定的HTTPS证书为受信任CA签发(自签证书无法通过Messenger校验)
  • Facebook后台填写的回调地址不要带多余斜杠或参数,固定为https://<你的域名>/webhook,填写的校验令牌要和Node代码中配置的完全一致

Messenger回调验证失败报错截图

内容的提问来源于stack exchange,提问作者Harsh Sinha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 08:12:25