当前位置: 首页 > 后端技术 > Node.js

koa框架搭建Https服务器指南

时间:2023-04-04 00:05:59 Node.js

HTTP正在远离我们,HTTPS成为唯一的选择。从2017年1月起,Chrome浏览器会将使用http协议的网站标记为“不安全”网站。面对不断变化的互联网安全形势,http实在是太老了。nodejs项目彻底切换到https的需求越来越迫切。本文将讲解如何基于koajs框架搭建https。在开始之前,我假设你已经具备了以下条件:一台在外网有独立IP的服务器。(eg.AlibabaCloudecs)域名已注册。(如万网备案域名)备案域名申请需要1个多月的等待时间。如果您从淘宝购买,请务必确认是万网注册的域名。申请SSL证书假设您现在拥有域名www.yourdomain.com。免费的SSL服务有以下选项。Let'sEncrypt网页经常被链接。StartCOM造成了一堵墙。WoSign运营商没有底线。购买淘宝COMODO证书https://item.taobao.com/item....本店购买单个域名证书6.98元。大客户服务也尽职尽责为您全程指导,大大节省了开发者的时间成本,更加可靠。超不稳定的免费证书,推荐。1、生成server.csr+server.key,在命令行输入:opensslreq-new-nodes-newkeyrsa:2048-keyoutserver.key-outserver.csr会弹出要求设置:填写前几项根据实际情况,CommonName必须填写你要注册的域名,eg:www.yourdomain.com(注意你申请的是单域名,所以要加www)然后做最后三项不填。将在您的目录中生成两个文件,server.csr+server.key。将文件发送给淘宝客服,大约两小时后您将收到一封电子邮件。2.通过证书链生成.pem文件打开邮件附件,会得到四个文件域名文件:www_yourdomain_com.crt(名字就是你的域名)短文件:COMODORSAAddTrustCA.crt长文件:COMODORSADomainValidationSecureServerCA.crt根证书:AddTrustExternalCARoot.crt将四个文件(这四个文件称为证书链)用cat命令连接起来生成server.pemcatwww_yourdomain_com.crtCOMODORSAAddTrustCA.crtCOMODORSADomainValidationSecureServerCA.crtAddTrustExternalCARoot.crt>server.pem结合这里面生成的server.pem步骤与上一步生成的server.key保存。-server.js-ssl/server.key-ssl/server.pemkoajs搭建https服务器1.安装npm包npmikoakoa-sslifykoa-sslify将http请求转换为https请求。2.server.js代码“使用严格”;varkoa=require('koa');varhttp=require('http');varhttps=require('https');varfs=require('fs');varenforceHttps=require('koa-sslify');varapp=koa();//在所有页面上强制使用HTTPSapp.use(enforceHttps());//索引页面app.use(function*(next){this.body="helloworldfrom"+this.request.url;});//SSL选项varoptions={key:fs.readFileSync('./ssl/server.key'),//ssl文件路径cert:fs.readFileSync('./ssl/server.pem')//ssl文件路径};//启动服务器http.createServer(app.callback()).listen(80);https.createServer(options,app.callback()).listen(443);//console.log('https服务器正在运行');上传文件到服务器,启动node服务器,输入你的域名,试试https服务器是否运行?

猜你喜欢