Javascript 错误:ER_HOST_没有特权使用Node.js中的SOCKS代理和Heroku访问MySQL数据库

Javascript 错误:ER_HOST_没有特权使用Node.js中的SOCKS代理和Heroku访问MySQL数据库,javascript,mysql,node.js,heroku,socks,Javascript,Mysql,Node.js,Heroku,Socks,我已经按照heroku上的说明配置了代码 起初看起来一切都很好。如您所见,测试工作正常: Result: [ TextRow { test1: 2 } ] 但是,当我尝试通过socks代理访问mySQL数据库时,仍然出现以下错误: Unhandled rejection Error: ER_HOST_NOT_PRIVILEGED: Host 'ec2-54-234-17-229.compute-1.amazonaws.com' is not allowed to connect to th

我已经按照heroku上的说明配置了代码

起初看起来一切都很好。如您所见,测试工作正常:

Result:  [ TextRow { test1: 2 } ]
但是,当我尝试通过socks代理访问mySQL数据库时,仍然出现以下错误:

 Unhandled rejection Error: ER_HOST_NOT_PRIVILEGED: Host 'ec2-54-234-17-229.compute-1.amazonaws.com' is not allowed to connect to this MySQL server
必须注意的是,这里的主人经常变化,这是Heroku的常态。但是配额保护插件应该为TCP连接提供静态IP

这是我的设置代码:

var mysql = require('mysql2')
var url = require("url")
var SocksConnection = require('socksjs')

var remote_options = {
 host:'I put the ip address to my database here',
 port: 3306
};

var proxy = url.parse(process.env.QUOTAGUARDSTATIC_URL)
var auth = proxy.auth;
var username = auth.split(":")[0]
var pass = auth.split(":")[1]

var sock_options = {
host: proxy.hostname,
port: 1080,
user: username,
pass: pass
}

var sockConn = new SocksConnection(remote_options, sock_options)

var dbConnection = mysql.createConnection({
  user: 'I put my user here',
  database: 'I put my database name here',
  password: 'I put my password here',
  stream: sockConn
})

dbConnection.query('SELECT 1+1 as test1;', function(err, rows, fields)     {
    if (err) throw err;

    console.log('Result: ', rows)
    sockConn.dispose()

})

dbConnection.end();
这是我用来尝试连接的代码。我也在dbConnection.query中尝试了这个方法,得到了完全相同的结果

app.post('/addContact', function (req, res) {

  payload = req.body.payload.person
  console.log('full name: ', payload.full_name)
  console.log("id: ", payload.id)

  knex('contacts').insert({
    contact_name: payload.full_name,
    email: payload.email

  }).then(function(data, err){
    if(err) {
      console.log('error message: ', err)
    } else {
    console.log( data, payload.full_name, 'entered into SQL Database')
      }
    })
   });




app.listen(port)
希望有人能帮忙!干杯:)