问题描述
我一直在我的 (Windows) 机器上本地处理 NodeJS 项目,该项目使用 Sequelize 连接到 sql 服务器数据库。它在我的本地机器上运行良好,但是当我将它上传到 Azure Web 应用程序时,我在每个请求中都会收到以下错误..
无法连接到 x.x.x.x:1433 - 套接字挂断(IP 地址由我替换为 X)
代码是相同的,我已经检查过数据库没有 IP 限制,它是完全开放的。我还检查了环境变量(用户名/密码等)是否相同并在生产中正确加载。事实上,我的日志显示连接尝试是相同的。
唯一使它起作用的是删除 Sequelize/繁琐选项 {encrypt:true}。
所以,需要明确的是,加密连接可从本地主机运行,但不能从 azure Web 应用运行。
我真的不知道为什么会这样,所以任何建议都会有所帮助,即使它们只是为我指明了正确的方向。
这是我的续集设置。显然,我已经编辑了主机 IP 地址和登录详细信息,但目前开发和生产中的它们是相同的。
{
'production': {
'username': xxx,'password': xxx,'database': xxx,'host': xxx,'dialect': 'mssql','dialectOptions': {
'options': {
'encrypt': true,'multipleStatements': true,'validateBulkLoadParameters': false
}
},'omitNull': true,'pool': {
'max': 100,'min': 0,'acquire': 30000,'idle': 10000
},'logging': false
},'development': {
'username': xxx,'validateBulkLoadParameters': false,'debug': {
'packet': true,'data': true,'payload': true,'token': true
}
}
},'logging': false
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)