按照教程已配置成功

前一部分内容参照
    https://blog.csdn.net/chenyufeng1991/article/details/60340006

前半部分是生成证书文件,关键部分摘抄如下:
使用 Linux 生成如下三个文件,Linux 下自带这个工具,Windows下找这个工具相当辛苦
openssl genrsa 1024 > private.pem

openssl req -new -key private.pem -out csr.pem

openssl x509 -req -days 365 -in csr.pem -signkey private.pem -out file.crt

生成完文件后,统一放到一个 certificate 文件夹内, 注意和 Express 的 app.js 在同一个层级内,

之后,在 Express 的 www 文件内新增以下内容:

var fs = require('fs');

var https = require('https');

var options = {
    key   : fs.readFileSync('./certificate/private.pem', 'utf8'),
    cert  : fs.readFileSync('./certificate/file.crt', 'utf8')
};

var SSLPORT = 443;

var httpsServer = https.createServer(options, app);

httpsServer.listen(SSLPORT);
httpsServer.on('error', onError);
httpsServer.on('listening', onListening);

配置成功,完整的 www 文件如下:

#!/usr/bin/env node

/**  * Module dependencies.  */

var app = require('../app'); var debug = require('debug')('ltdweb:server'); var http = require('http'); var fs = require('fs');

//增加 https 支持 var https = require('https');

var STORAGE = require('../Storage'); var DEFINED = require('../DEFINED'); var CACHEVIEWS = require('../CacheViews');

STORAGE.InitUsers(); CACHEVIEWS.Initialize();

//同步读取密钥和签名证书 var options = {     key   : fs.readFileSync('./certificate/private.pem', 'utf8'),     cert  : fs.readFileSync('./certificate/file.crt', 'utf8') };

/**  * Get port from environment and store in Express.  */

var port = normalizePort(process.env.PORT || '80'); app.set('port', port);

var SSLPORT = 443;

/**  * Create HTTP server.  */

var server = http.createServer(app); var httpsServer = https.createServer(options, app);

/**  * Listen on provided port, on all network interfaces.  */

server.listen(port); server.on('error', onError); server.on('listening', onListening);

httpsServer.listen(SSLPORT); httpsServer.on('error', onError); httpsServer.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); }

openssl req -new -key /pathway/private.pem -out csr.pemopenssl req -new -key private.pem -out csr.pem

111

openssl x509 -req -days 365 -in csr.pem -signkey private.pem -out file.cr

openssl req -new -key /pathway/private.pem -out csr.pemopenssl req -new -key private.pem -out csr.pem

111

openssl x509 -req -days 365 -in csr.pem -signkey private.pem -out file.crt

Express 配置 https / 443 安全链接的更多相关文章

  1. express 配置 https 服务 ( 以阿里云服务器为例), 探索一周终于搞定

    首先最重要的是 你要明白 https接口的接收或者发送 的形式 是  https://域名:端口号   而不是 https://ip:端口号   一,首先,去阿里云注册免费ssl证书   1,在搜索框 ...

  2. windows环境下wampserver配置https

    因为公司业务主要是在微信上进行开展的,所以作为程序员的我们每天的开发任务就都是在与微信打交道,这个时候我们就需要在本地配置端口映射到外网,方便我们在微信客户端进行调试. 最近某种需要,所以需要配置 h ...

  3. 12C配置EM Express的https端口

    1.启动监听并查看监听信息 $ lsnrctl stat ora12 LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 07-FEB-2017 ...

  4. 【转载】网站配置Https证书系列(三):IIS网站设置Http链接直接跳转Https安全连接

    Http链接请求是以明文的方式传输,在传输的过程中很容易被篡改数据,一个典型的例子就是运营商的网络劫持注入广告信息等,而Https请求则是安全加密的请求,报文数据以密文的形式进行传输.当IIS网站配置 ...

  5. nginx 学习笔记(9) 配置HTTPS服务器--转载

    HTTPS服务器优化SSL证书链合并HTTP/HTTPS主机基于名字的HTTPS主机带有多个主机名的SSL证书主机名指示兼容性 配置HTTPS主机,必须在server配置块中打开SSL协议,还需要指定 ...

  6. Harbor配置https认证

    Harbor配置https认证由于Harbor不附带任何证书,它默认使用HTTP来提供注册表请求.但是,强烈建议为任何生产环境启用安全性.因为测试使用,使用自签名证书: 1.创建CA证书 首先创建个目 ...

  7. tomcat配置https–采用JDK自带的keytool工具生成证书

    转自:http://blog.csdn.net/huangxinyu_it/article/details/41693633 有关http与https的区别请看<浅谈http与https的区别( ...

  8. nginx 配置https没有ssl_module以及一些错误

    一:开始Nginx的SSL模块 1.1 Nginx如果未开启SSL模块,配置Https时提示错误 1 nginx: [emerg] the "ssl" parameter requ ...

  9. Nginx配置https和wss

    微信小程序不仅要求必须是HTTPS和WSS,还要求URL里不能有端口号. 一.使用Nginx足够了 常见的服务器有三种: Nginx IIS Apache 这三种服务器都可以配置https,但是没必要 ...

随机推荐

  1. PHP之this和self

    self在对象中自己调用自己使用 $this在实例化后使用$this方法 在访问PHP类中的成员变量或方法时,如果被引用的变量或者方法被声明成const(定义常量)或者static(声明静态),那么就 ...

  2. Mego开发文档 - 数据注释建模

    数据注释建模 Mego框架使用一组约定来基于CLR类来构建模型.您可以指定其他配置来补充或覆盖通过约定发现的内容. 在 Mego 中所有的数据对象必须要有主键.这里需要声明与EF不同的是框架只支持数据 ...

  3. angular2 学习笔记 ( 状态管理 state management )

    更新 : 2017-12-29  ng5 移除 zone.js https://zhuanlan.zhihu.com/p/29577461 zone 的用途就是拦截游览器事件, 比如 click, a ...

  4. SpringCloud的微服务网关:zuul(理论)

    参考链接:https://springcloud.cc/spring-cloud-dalston.html 一.概念与定义 1.为什么要引入API网关 后期维护:路由规则和服务实例列表困难 系统架构: ...

  5. SQL Server 2012 管理新特性:AlwaysOn 可用性组

    SQL Server 2012 新特性(一)管理新特性:AlwaysOn 一.准备环境 1.准备4台计算机 域控制器DC1,IP地址192.168.1.1 主节点SQL1:IP地址192.168.1. ...

  6. SVN (TortioseSVN) 版本控制之忽略路径(如bin、obj、gen)

    在SVN版本控制时,新手经常会遇到这样的问题: 1.整个项目一起提交时会把bin . gen . .project 一同提交至服务器 2.避免提交编译.本地配置等文件在项目中单独对src.res进行提 ...

  7. spring3——IOC之基于XML的依赖注入(DI )

    我们知道spring容器的作用是负责对象的创建和对象间关系的维护,在上一篇博客中我们讲到spring容器会先调用对象的无参构造方法创建一个空值对象,那么接下来容器就会对对象的属性进行初始化,这个初始化 ...

  8. java中的引用类型的对象存放在哪里

    根据上下文来确定.比如void func(){    Object obj = new Object();//这个obj在函数的栈里.}class Test{   private Object obj ...

  9. android studio 何如修改报名

    1. 重命名办法,网上很多见 2. 对于需要重新修改包名的级别的 a. 修改package 和 gradle 的包名,对应一致. b. 修改R 所在包名,使用crtl+n修改R文件的路径 c. 手动首 ...

  10. Windows下安装Python3和Django

    下载python3 首先去 python的官网 下载最新稳定版的python3, 我下载的时候python3的最新版本是3.6.5. 亦可点击 此链接 直接下载. 安装python3 傻瓜式安装,注意 ...