我在 next js
上部署了一个 Azure Web App Service
网络应用程序,并想用它连接到现有的远程数据库,但是我在日志流中不断收到这样的错误:
2021-04-23T18:09:17.315942065Z Error: connect ECONNREFUSED 127.0.0.1:3306
2021-04-23T18:09:17.315993564Z at Query._callback (/home/site/wwwroot/.next/server/pages/api/getFromUrl.js:128:16)
2021-04-23T18:09:17.316000664Z at Query.Sequence.end (/node_modules/mysql/lib/protocol/sequences/Sequence.js:83:24)
2021-04-23T18:09:17.316013164Z at /node_modules/mysql/lib/Pool.js:205:13
2021-04-23T18:09:17.316017064Z at Handshake.onConnect (/node_modules/mysql/lib/Pool.js:58:9)
2021-04-23T18:09:17.316020764Z at Handshake.<anonymous> (/node_modules/mysql/lib/Connection.js:526:10)
2021-04-23T18:09:17.316025064Z at Handshake._callback (/node_modules/mysql/lib/Connection.js:488:16)
2021-04-23T18:09:17.316028764Z at Handshake.Sequence.end (/node_modules/mysql/lib/protocol/sequences/Sequence.js:83:24)
2021-04-23T18:09:17.316032364Z at Protocol.handleNetworkError (/node_modules/mysql/lib/protocol/Protocol.js:369:14)
2021-04-23T18:09:17.316035964Z at PoolConnection.Connection._handleNetworkError (/node_modules/mysql/lib/Connection.js:418:18)
2021-04-23T18:09:17.316039564Z at Socket.emit (events.js:315:20)
我在应用中的数据库连接是:
export const db = mysql.createPool({
host: 'abcd.efghosting.com',
port: 3306,
database: 'pwpush',
user: 'pwpush_user',
password: ....,
multipleStatements: true,
});
不知道为什么它会尝试连接到 127.0.0.1:3306
我尝试打开与数据库端点的混合连接之类的东西,但没有奏效。
答案 0 :(得分:0)
检查您使用的是哪个 db.js
。
正确使用混合连接。
创建一个新的混合连接,并使用实际名称/IP 地址设置端点主机名,混合连接管理器的安装位置。
更多详情,请参考Tassisto的回答。
Web API hosted on Azure doesn't return On-Premise Data after Get Request