阅读官方接入指南后,进行服务器配置,始终提示 Token 验证失败
使用的gem有: gem 'weixin_rails_middleware'
1.使用 nginx 端口为 80,但是 rails 服务器端口 3000,需要反向代理?
对,反向代理,如果本地开发,可以使用 ngrok 之类的隧道代理。
2.微信服务器发送至自己的服务器端,服务器端只要对其验证并且返回随机数(echostr),即表示验证成功。自己服务器端怎么识别请求呢?
接入指南, 对应代码大概是这一段
#1 楼 @flowerwrong 谢谢
#1 楼 @flowerwrong 请问使用 Nginx + Passenger + Rails 部署的话,nginx 默认为 80,通过 passenger 修改 3000 指向 80?还是 nginx.cof 直接修改端口。
nginx 反向代理即可,可谷歌一下。社区 wiki 我记得也有配置教程,passenger 官网的配置教程也非常详细。
与主题无关 -- 现在开微信公众号是不是都要国内的手机号和银行卡?
#3 楼 @sec Nginx + Passenger 部署模式(Passenger 作为 Nginx 的模块,而非 standalone 模式)下,Nginx 同时作为 web server 和 app server,Nginx 中配置的端口即是应用监听的端口。不需要在 Nginx 之外再启动应用。
#6 楼 @bianjp 谢谢,后来我试着通过修改/etc/ngix/nginx.conf 配置反向代理,暂时可以通过域名打开 rails 页面..不过竟然没有用到 passenger,好奇怪.
http { ..... server { listen 80 default; server_name xxxx.com; location / { proxy_pass http://localhost:3000; } } }
#5 楼 @jiazhen 刚刚尝试注册微信,第一步便是输入手机号,倒是银行卡没有必须绑定的要求.
可以在本地跑 80 端口
rvmsudo rails s -p 80