我是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安装。
你能帮我解决一下这个问题吗? 提前谢谢!
答案 0 :(得分:0)
您应该在应用的根目录中创建botpress-messenger.config.yml
。并确保enabled: true
applicationID: ''
accessToken: ''
appSecret: ''
verifyToken: ''
hostname: ''
enabled: true
还有一件事,对于调试,您可以使用chatbotproxy.com代理您的请求并捕获传入/传出请求。
答案 1 :(得分:0)
经过几次尝试后,我最终设置了一台没有Easyengine的新服务器,并且运行得很好。可能有些ee默认配置与botpress冲突。