该错误与您的HTTPS实例无关,它与您的MysqL连接有关.
与数据库的连接意外结束,未进行处理.要解决此问题,您可以使用手动重新连接解决方案,也可以使用自动处理重新连接的连接池.
以下是从node-mysql的文档中获取的手动重新连接示例.
var db_config = {
host: 'localhost',user: 'root',password: '',database: 'example'
};
var connection;
function handleDisconnect() {
connection = MysqL.createConnection(db_config); // Recreate the connection,since
// the old one cannot be reused.
connection.connect(function(err) { // The server is either down
if(err) { // or restarting (takes a while sometimes).
console.log('error when connecting to db:',err);
setTimeout(handleDisconnect,2000); // We introduce a delay before attempting to reconnect,} // to avoid a hot loop,and to allow our node script to
}); // process asynchronous requests in the meantime.
// If you're also serving http,display a 503 error.
connection.on('error',function(err) {
console.log('db error',err);
if(err.code === 'PROTOCOL_CONNECTION_LOST') { // Connection to the MysqL server is usually
handleDisconnect(); // lost due to either server restart,or a
} else { // connnection idle timeout (the wait_timeout
throw err; // server variable configures this)
}
});
}
handleDisconnect();