如何禁用Express + MongoDB使用的SSL3

时间:2018-09-17 02:26:21

标签: node.js mongodb ssl mongoose

我在express.js上遇到麻烦,它试图使用ssl3,但是我没有在任何地方使用它。我看到下一个错误,然后运行服务器:

  (node:7920) [DEP0026] DeprecationWarning: util.print is deprecated.
 Use console.log instead. Error: 4776:error:1408F10B:SSL
 routines:ssl3_get_record:wrong version
 number:openssl\ssl\record\ssl3_record.c:252:

server.js文件如下所示:

// import npm modules
import fs from 'fs';
import path from 'path';
import express from 'express';
import bodyParser from 'body-parser';
import cors from 'cors';
import winston from 'winston';
import compression from 'compression';
import expressWinston from 'express-winston';
import winstonPapertrail from 'winston-papertrail';
import jwt from 'express-jwt';
import http from 'http';


// import custom configuration and utilities
import config from './config';
import logger from './utils/logger';
import db from './utils/db';
import routes from './routes';

// initialize the api
const api = express();

// initialize middleware
api.use(cors());
api.use(compression());
api.use(bodyParser.urlencoded({ extended: true }));
api.use(bodyParser.json());

// ignore authentication on the following routes
api.use(
    jwt({ secret: config.jwt.secret }).unless({
        path: [
            '/',
            '/auth/signup',
            '/auth/login',
            '/auth/forgot-password',
            '/auth/reset-password',
        ],
    }),
);

// throw an error if a jwt is not passed in the request
api.use((err, req, res, next) => {
    if (err.name === 'UnauthorizedError') {
        res.status(401).send('Missing authentication credentials.');
    }
});

// initialize our logger (in our case, winston + papertrail)
api.use(
    expressWinston.logger({
        transports: [
            new winston.transports.Papertrail({
                host: config.logger.host,
                port: config.logger.port,
                level: 'error',
            }),
        ],
        meta: true,
    }),
);


// listen on the designated port found in the configuration
api.listen(config.server.port, err => {
    if (err) {
        logger.error(err);
        process.exit(1);
    }

// require the database library (which instantiates a connection to mongodb)
   db();

// loop through all routes and dynamically require them – passing api
    Object.entries(routes).forEach(([ key, route ]) => {
        route(api);
    });

// output the status of the api in the terminal
    logger.info(`API is now running on port ${config.server.port} in ${config.env} mode`);
});

export default api; 
├───dist
└───src
    ├───config
    ├───controllers
    ├───models
    ├───routes
    └───utils

如何解决此问题?我现在不会使用ssl。谢谢

0 个答案:

没有答案