首页 > 解决方案 > 使用 Proximo 时连接到 ClearDB 时出错

问题描述

我正在通过 Proximo 在 Heroku 上运行 Node.js 应用程序,以便为出站流量获取静态 IP。(参见https://devcenter.heroku.com/articles/proximo#using-the-proximo-http-proxy,使用Procfile方法)。

由于这样做,MySQL 连接现在超时并且无法连接。我正在使用 Knex 并连接到 ClearDB

我尝试更新权限以允许从 Proximo IP 访问数据库用户,如下所示:

GRANT ALL PRIVILEDGES ON <DB_NAME>.* TO <DB USER>@<PROXIMO IP> IDENTIFIED BY '<DB PASSWORD>'

但是 ClearDB 不允许这样做:

拒绝用户@% 访问 DB NAME

有没有一种方法可以允许访问,以便数据库连接或配置 Proximo 以不代理 MySQL 连接/流量?

标签: node.jsherokuknex.jscleardbproximo

解决方案


bin/proximo在 Procfile 中删除。

web: bin/proximo [your existing command]

当您在 Profile 中使用 proximo 时,Proximo 会包装所有出站流量。如果您使用 Proximo 作为端点,您可以按如下方式实现。

require "rest-client"

RestClient.proxy = ENV["PROXIMO_URL"] if ENV["PROXIMO_URL"]
res = RestClient.get("http://api.someservice.com/endpoint")

推荐阅读