node中express启动服务碰到的问题

在项目开发中,突然接到这样一个需求,测试地址是http协议,线上地址是https协议,当两个环境来回切换的时候,可能就会导致输入测试环境的浏览器地址多加了个s,而线上环境少加了s的问题,为了用户体验性更好,需要在客户请求页面的时候去判断协议类型,当协议类型不正确时替换成正确的协议,这个项目是通过next.js+express进行开发的后台系统,所以浏览器重定向需要在服务端来做,也就会node层做处理,主要依靠express框架起的服务,废话不多说,以下:

express开启的服务默认是http协议的,如果要浏览器监听https,还需要安装https包 以及需要ca 证书

一般来说 我们没必要花钱和时间去买一个ca机构颁发证书 所以自己扮演CA机构,给自己颁发证书 步骤如下:

//生成CA私钥

$ openssl genrsa -out ca.key 1024

//生成csr文件

$ openssl req -new -key ca.key -out ca.csr

//生成自签名证书

$ openssl x509 -req -in ca.csr -signkey ca.key -out ca.crt

//生成server.csr文件

$ openssl req -new -key server.key -outserver.csr

//生成带有ca签名的证书

$ openssl x509 -req -CA ca.crt -CAkey ca.key -CAcreateserial -in server.csr -out server.crt

创建https服务监听步骤如下:


来源地址:https://www.cnblogs.com/whm-blog/p/9413958.html

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容