新手问题 Rails 公众号开发碰到的一个小坑: 公众号对接失败

samport · 发布于 2016年12月06日 · 最后由 mingyuan0715 回复于 2016年12月07日 · 728 次阅读
26232

开始做Rails的公众号项目,感觉这个开发模板正是我需要的:https://github.com/goofansu/wechat-starter

该项目默认是pg数据库,将其修改成sqlite3数据库以后,在rails5下很顺利的就能运行了。

在阿里云上编译并运行了ngrok服务器端,在mac上编译了客户端,公网访问没有问题。但是在微信公众号平台配置服务器对接时候,死活通过不了:报URL超时错误或者是配置失败的错误。反复检查不得其解。

偶然搜到了这个帖子https://ruby-china.org/topics/26468,似乎说可能是puma服务器返回有什么特别之处,导致微信公众号平台不识别。

试了一下,将Gem里面的puma注释掉,然后重新启动Rails默认的webrick服务器,果然马上就对接成功。更神奇的是,公众号平台上的配置完成以后,将Rails服务器再改成Puma,微信的消息应答完全没问题。

现在还不清楚如果生产环境下nginx+puma是不是不会有这样的现象。另外,在微信官方的公众号管理平台上配置服务器对接时候,puma和webrick返回的信息有何不同,也不明白,如果有人有这方面的研究,请分享一下。

这个小坑足足害了我三个小时,太不值了。

相关帖子:https://ruby-china.org/topics/30957

共收到 3 条回复
2973

抓包,看请求的差异,尤其 header

1553

我就用的 Nginx + puma, Rails 4,没有问题

2329

我还一直以为是ngrok的问题,我之前用puma是可以极低概率成功的,大概5%的概率能不会报错。😫

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册