前言
- 今早阿里打电话说:你的ssl证书密钥外泄,请撤回之前的证书,重新下发一个证书到你的系统上
- 吓得我赶紧去阿里看看证书,并重新申请一个证书,看看我那【音乐博客】的音乐和博客是不是被人给盗走了!
- 所以在此总结一下:如何从http协议转向https协议,因为一般默认系统上都是http协议,本案例使用的是node进行演示如何转向https以及阿里上申请证书
两个方面
1.准备证书📄
- 进入阿里证书链接:先买个SSL证书,至于证书如何获取,阿里会定期免费发送的,可移步百度搜索阿里如何获取ssl证书,获取之后继续回来观看哦!
- 点击证书申请,申请成功之后,会在下方出现已签发(就是成功下发的证书),我们点击部署(负载均衡)
- 下载证书
2. 证书使用✍
- 下载下来有两个文件,分别后缀为pem、key,把pem后缀的文件后缀换为crt,key文件不要动它,下载好了之后,我们在node中使用,node任何安装环境这里就不做介绍了,直接进入主题。
- 我们在app.js中使用证书HTTPS.
const https = require('https')
const http = require('http')
const fs = require('fs')2.2. 创建一个app对象(类似于创建一个server对象)
var app = express();2.3. 定义变量httpsOption(此变量可随意命名),并监听443端口作为https
const httpsOption = {
key: fs.readFileSync('../2151515_xxx.cn.key'), //证书文件的存放目录
cert: fs.readFileSync('../2151515_xxx.cn.crt')
}
http.createServer(app).listen(80) //加上这一行的原因是:要是访问80端口就是我以前的http的端口,这里帮它跳转到443端口的https协议来,访问我们迁移端口到443,客户访问80访问不到
https.createServer(httpsOption, app).listen(443);最后说一下证书存放位置:也是有讲究的,一定要放在根目录,因为试过放在node目录下的子目录就会报错,所以不能放在子目录下,一定要放在根目录下哦
还有分享自己一个遇到的奇怪的问题:一开始就阿里和node都配置好了,访问https会访问不到,于是就重新用SSL证书重新下发一个,步骤和之前是一样的,然后就通过https协议了。也不知道是不是https协议需要过几分钟才会生效,不知道你们会不会遇到,不过我感觉问题不大,访问不到就重新下发一个证书即可!
耶!终于可以使用https咯💯
最后
希望对各位朋友有所帮助。如果文中有什么错误,或者有什么建议,欢迎指出,谢谢大家😘。