网址HTTP如何转向HTTPS协议(SSL证书)

594 阅读2分钟

前言

  • 今早阿里打电话说:你的ssl证书密钥外泄,请撤回之前的证书,重新下发一个证书到你的系统上
  • 吓得我赶紧去阿里看看证书,并重新申请一个证书,看看我那【音乐博客】的音乐和博客是不是被人给盗走了!
  • 所以在此总结一下:如何从http协议转向https协议,因为一般默认系统上都是http协议,本案例使用的是node进行演示如何转向https以及阿里上申请证书


两个方面

1.准备证书📄

  • 进入阿里证书链接:先买个SSL证书,至于证书如何获取,阿里会定期免费发送的,可移步百度搜索阿里如何获取ssl证书,获取之后继续回来观看哦!


  • 点击证书申请,申请成功之后,会在下方出现已签发(就是成功下发的证书),我们点击部署(负载均衡)


  • 下载证书


2. 证书使用✍

  • 下载下来有两个文件,分别后缀为pem、key,把pem后缀的文件后缀换为crt,key文件不要动它,下载好了之后,我们在node中使用,node任何安装环境这里就不做介绍了,直接进入主题。
  • 我们在app.js中使用证书HTTPS.
2.1. 首先先加载http和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咯💯


最后

希望对各位朋友有所帮助。如果文中有什么错误,或者有什么建议,欢迎指出,谢谢大家😘。