zoukankan      html  css  js  c++  java
  • centos7 node express项目 将http接口升级为https接口的解决方法

    1、将对应的ssl证书放到项目文件中(我装的镜像是oneinstack的,创建项目时可以直接选择生成ssl证书的项目,即 xxx.keyxxx.crt 文件);

    2、修改bin/www文件,修改代码如下:

    #!/usr/bin/env node
    
    /**
     * Module dependencies.
     */
    
    var app = require('../app');
    var debug = require('debug')('https:server');
    //关键包 var path = require('path'); var https = require('https'); var fs = require('fs');
    //ssl证书相关文件 var privateKey = fs.readFileSync(path.join(__dirname, './https.key'), 'utf8'); var certificate = fs.readFileSync(path.join(__dirname, './https.crt'), 'utf8'); var credentials = {key: privateKey, cert: certificate}; /** * Get port from environment and store in Express. */ var port = normalizePort(process.env.PORT || '8081'); //端口号 app.set('port', port); /** * Create HTTP server. */ var server = https.createServer(credentials, app); //新的https服务 /** * Listen on provided port, on all network interfaces. */ server.listen(port); server.on('error', onError); server.on('listening', onListening); /** * Normalize a port into a number, string, or false. */ function normalizePort(val) { var port = parseInt(val, 10); if (isNaN(port)) { // named pipe return val; } if (port >= 0) { // port number return port; } return false; } /** * Event listener for HTTP server "error" event. */ function onError(error) { if (error.syscall !== 'listen') { throw error; } var bind = typeof port === 'string' ? 'Pipe ' + port : 'Port ' + port; // handle specific listen errors with friendly messages switch (error.code) { case 'EACCES': console.error(bind + ' requires elevated privileges'); process.exit(1); break; case 'EADDRINUSE': console.error(bind + ' is already in use'); process.exit(1); break; default: throw error; } } /** * Event listener for HTTP server "listening" event. */ function onListening() { var addr = server.address(); var bind = typeof addr === 'string' ? 'pipe ' + addr : 'port ' + addr.port; debug('Listening on ' + bind); }

    3、项目重启,输入https://localhost:8081,能看到网页如下显示,则代表https服务成功

    注:虽然已经是https服务了,但还是会报不安全提示,是因为我们的证书问题。不影响正常功能。

  • 相关阅读:
    Leetcode Binary Tree Preorder Traversal
    Leetcode Minimum Depth of Binary Tree
    Leetcode 148. Sort List
    Leetcode 61. Rotate List
    Leetcode 86. Partition List
    Leetcode 21. Merge Two Sorted Lists
    Leetcode 143. Reorder List
    J2EE项目应用开发过程中的易错点
    JNDI初认识
    奔腾的代码
  • 原文地址:https://www.cnblogs.com/muou2125/p/9584133.html
Copyright © 2011-2022 走看看