Google Cloud SQL + Heroku

7

这是我收到的错误信息!

2014-03-13T08:30:21.010764+00:00 heroku[web.1]: Starting process with command `node dbserver.js`
2014-03-13T08:30:22.485293+00:00 app[web.1]: listening on 14218
2014-03-13T08:30:22.486771+00:00 app[web.1]: lo 127.0.0.1
2014-03-13T08:30:22.551389+00:00 app[web.1]: 
2014-03-13T08:30:22.554354+00:00 app[web.1]:     at Protocol.end (/app/node_modules/mysql/lib/protocol/Protocol.js:78:13)
2014-03-13T08:30:22.554354+00:00 app[web.1]:     at Socket.<anonymous> (/app/node_modules/mysql/lib/Connection.js:78:28)
2014-03-13T08:30:22.554354+00:00 app[web.1]: Error: Connection lost: The server closed the connection.
2014-03-13T08:30:22.554354+00:00 app[web.1]:     at Socket.EventEmitter.emit (events.js:117:20)
2014-03-13T08:30:22.554354+00:00 app[web.1]:     at _stream_readable.js:920:16
2014-03-13T08:30:22.554354+00:00 app[web.1]:     at process._tickCallback (node.js:415:13)
2014-03-13T08:30:24.327286+00:00 heroku[web.1]: Process exited with status 8

当我在本地测试时(使用foreman或不使用),它可以正常工作! 我已经将我的IP地址添加到Google Cloud SQL的授权网络中, 以及我的应用程序的IP地址。
我使用http://www.hcidata.info/host2ip.cgi查找了我的Web应用程序的IP地址。
有人有同样的经历吗?

请您写信至 cloud-sql@google.com 并注明完整的实例名称,谢谢。 - Razvan Musaloiu-E.
1个回答

14

您遇到的问题可能与此问题中的问题类似:

您的问题可能是Cloud SQL不允许Dyno的IP地址。 由于Heroku Dyno网格具有动态性质,给定Dyno随时间分配的IP地址将是动态和不可预测的。

如在其他问题中提到的,可以使用代理Heroku附加组件来获得静态IP。

一种解决方法是在Cloud SQL实例中将0.0.0.0/0(所有可能的IP地址)列入白名单。 如果这样做,我强烈建议要求通过SSL连接到数据库。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接