Botpress - 验证facebook bot messenger webhook

时间:2017-07-11 21:49:27

标签: facebook nginx bots messenger facebook-messenger-bot

我是botpress社区的新手,刚刚开始开发我的第一个机器人。现在我想让它在我的服务器上工作。问题是在尝试验证webhook时。

从facebook尝试我收到此错误:“无法验证URL。回调验证失败,出现以下错误:HTTP状态代码= 403; HTTP消息=禁止” 我的网址:https://b.mysite.com/api/botpress-messenger/webhook

直接从botpress尝试: 在与Facebook通信期间发生错误 详细信息:Facebook API已返回错误。状态:400(错误请求)(#194)需要全部或全部参数:callback_url,verify_token

尝试使用ngrok,错误与上述相同。

这是我目前的nginx配置:

server {
    server_name b.mysite.com   www.b.mysite.com;

    access_log /var/log/nginx/b.mysite.com.access.log rt_cache;
    error_log /var/log/nginx/b.mysite.com.error.log;

    root /var/www/b.mysite.com/htdocs;
    listen 80; # managed by Certbot

    listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/b.mysite.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/b.mysite.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot

    # Redirect non-https traffic to https
     if ($scheme != "https") {
         return 301 https://$host$request_uri;
     } # managed by Certbot

   location / {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-NginX-Proxy true;
    proxy_pass http://127.0.0.1:3000;
    proxy_redirect off;
    autoindex on;
  }

 }

使用easyengine配置服务器,SSL由letsencrypt发布,并使用certbot安装。

你能帮我解决一下这个问题吗? 提前谢谢!

2 个答案:

答案 0 :(得分:0)

您应该在应用的根目录中创建botpress-messenger.config.yml。并确保enabled: true

applicationID: ''
accessToken: ''
appSecret: ''
verifyToken: ''
hostname: ''
enabled: true

还有一件事,对于调试,您可以使用chatbotproxy.com代理您的请求并捕获传入/传出请求。

答案 1 :(得分:0)

经过几次尝试后,我最终设置了一台没有Easyengine的新服务器,并且运行得很好。可能有些ee默认配置与botpress冲突。