使用mssql模块为SQL Server连接使用“encrypt:true”时超时

我正在使用mssql node.js模块来连接SQL Server 2005。

当我开始使用1.1.0版时,它曾经工作得很好,但是当我今天升级到新版本(3.3.0)时,它停止工作并开始抛出Connection Timeout错误。

经过一些试验和错误,我发现,如果我从选项中删除encrypt: true ,它的工作原理。

我仍然希望将连接encryption,所以想知道有没有人可以解释为什么发生这种情况,如果有什么方法可以解决这个问题呢?

这个失败的代码本质上是这样的:

 var sql = require('mssql'); var router = express.Router(); router.use(function(req, res, next){ // Add database connection var connection = new sql.Connection(sqlConfig: { user: 'username', password: 'password', server: 'IP address', database: 'database name', options: { encrypt: true } }, function(err) { if (err) { logger.error('Connection error: ' + err.message); res.sendStatus(400); } else { req.connection = connection; next(); } }); }); module.exports = router; 

我得到的错误是:

连接错误:在15000毫秒内无法连接到[服务器IP]:1433