nodejs表达配置自签名https服务器的方法

  

在nodejs中使用表达来搭建框架可以说是非常的简单方便,但是一般默认创建的都是http服务器,也就是只能通过http协议进行访问。如今https已经是发展趋势,我们应该顺应时代的潮流。在本篇文章中,我们将会来使用自签名的方式创建证书,然后使用表达框架来搭建https服务器,最后让浏览器或者客户端使用https协议进行访问。

  

首先我们要生成证书文件:

  

(1)生成私钥钥文件(下面的路径表示你要保存的文件路径位置)
  ,

        openssl genrsa 1024比;/通道/private.pem      

(2)通过上面生成的私钥文件生成CSR证书签名
  

        openssl点播以及其他关键/通道/私人。pem治疗csr。pem      

(3)通过上述私钥文件和CSR证书签名生成证书文件
  

  

代码如下:openssl x509点播天365——企业社会责任。pem -signkey/通道/私人。pem两级/通道/file.crt 

  

此时生成的三个文件如下:

  

 nodejs表达配置自签名https服务器的方法

  

此时把这三个文件拷贝到你的nodejs项目目录下,比如我直接在项目根目录下新建证书文件夹,然后放入三个文件:

  

 nodejs表达配置自签名https服务器的方法

  

,完成以上步骤后,修改项目的启动文件,我这里的启动文件是app.js,或者有人是server.js,以下代码实现都一样:

        var=需要表达(表达);//项目服务端使用表达框架   应用var=表达();   var=路径要求(“路径”);   var fs=要求(fs);//使用nodejs自带的http、https模块   var http=要求(“http”);   var https=要求(“https”);//根据项目的路径导入生成的证书文件   var privateKey=fs.readFileSync(路径。加入(__dirname。/证书/private.pem), use utf8);   var=fs.readFileSync证书(路径。加入(__dirname。/证书/file.crt), use utf8);   var凭证={关键:privateKey证书:证书};      var httpServer=http.createServer(应用);   var httpsServer=https。createServer(凭证、应用);//可以分别设置http、https的访问端口号   var端口=8000;   var SSLPORT=8001;//创建http服务器   httpServer。听(港口,函数(){   控制台。HTTP服务器运行日志(' alt=" nodejs表达配置自签名https服务器的方法">

  

https访问:

  

 nodejs表达配置自签名https服务器的方法

  

可以看到我们已经成功使用https来访问我们的服务器,但是Chrome浏览器却显示红色的不安全的,这是因为这个证书是我们自建的,没有经过第三方机构验证,所以会出现警告的提示。后续博客我们会介绍如何申请经过认证的证书。

  

在Chrome浏览器中打开开发者模式,在安全安全页中可以看到当前页面的证书信息,如下所示:

  

 nodejs表达配置自签名https服务器的方法”>,,,,,</p>
  <p>点击“查看证书”则可以看到证书的详情:</p>
  <p> <img src=

  

展开细节则可以看到我们创建证书的时候输入的各项证书信息。

  

同时我们也可以使用邮差来模拟客户端请求(实际开发中,服务端同学可以把证书发给客户端同学,经过简单配置就能实现https通信了):

  

http请求:

  

 nodejs表达配置自签名https服务器的方法

  

https请求:

  

 nodejs表达配置自签名https服务器的方法

  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

nodejs表达配置自签名https服务器的方法