无法将 Azure 上的 Web 应用程序连接到远程数据库

时间:2021-04-23 18:19:18

标签: mysql node.js azure-web-app-service

我在 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

我尝试打开与数据库端点的混合连接之类的东西,但没有奏效。

1 个答案:

答案 0 :(得分:0)

问题排查

  1. 检查您使用的是哪个 db.js

  2. 正确使用混合连接。

<块引用>

创建一个新的混合连接,并使用实际名称/IP 地址设置端点主机名,混合连接管理器的安装位置。

更多详情,请参考Tassisto的回答。

Web API hosted on Azure doesn't return On-Premise Data after Get Request

相关问题