2014-03-13 97 views
1

这是我得到的错误信息!Google Cloud SQL + Heroku

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 

当我在本地测试(与工头或没有),它的工作原理! 我已在Google Cloud SQL的授权网络中添加了IP地址, 以及我的应用程序的IP地址。

我已经使用http://www.hcidata.info/host2ip.cgi找出我的网络应用程序的IP地址。

任何人都可以有相同的经验吗?

+0

您可以写信给[email protected]并注明完整的实例名称吗? –

回答

5

你的问题可能是一个类似于在this question

你的问题可能是云SQL是不是让你的测功机的IP地址。 由于Heroku dyno网格在本质上是动态的,因此随着时间的推移分配给定的dyno的IP地址将是动态和不可预测的。

正如在另一个问题中提到的,你可以使用代理Heroku插件,它会给你一个静态IP。

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