怎么用Node.js创建HTTPS服务器?-阿里云开发者社区

开发者社区> 开发与运维> 正文

怎么用Node.js创建HTTPS服务器?

简介:

  怎么用Node.js创建HTTPS服务器?

  HTTPS已经无所不在,作为开发者,我们经常需要访问或者使用HTTPS服务器。本文重要介绍了如何用 Node.js 在本地创建一个HTTPS开发服务器。

  要创建一个HTTPS服务器,你需要两样东西:SSL证书和Node.js内置的https模块。

  我们先从SSL证书开始。一般来说,有两种证书:由“证书颁发机构”签署的证书,简称CA证书,以及“自签名证书”。证书颁发机构是SSL证书的可信来源,使用来自CA的证书可以让你的用户信任你网站的身份。在大多数情况下,你会在生产环境中使用CA签名的证书,但是出于开发和测试目的,自签名证书也可以。

  要生成自签名证书,请在终端运行以下命令:

  1

  它会给你生成两个文件,cert.pem(证书)和key.pem(私钥)。将这些文件放在与Node.js服务器文件相同的目录中。如下是一个hello world示例(https和http模块之间最大的区别是options参数):

  
2

  要启动https服务器,请在终端上运行 node app.js(这里,app.js是文件的名称)。

  现在你的服务器已经设置并启动,在浏览器中可以访问 https://localhost:8000/

  如果你在使用Express框架,可以在入口文件中添加如下代码:

  
3

  假设上述代码保存在 index.js 文件里,你可以在终端中运行 nodeindex.js ,然后你可以访问 https://localhost:3000 访问这个页面了。

  提示:由于我们使用了自签名的证书,访问页面时可能会看到浏览器的证书警告,可能需要手动点击信任当前证书,或者手动点击链接确认访问该页面。

  例如Chrome 81提醒“您的连接不是私密连接”,并禁止你访问。你可以直接在当前页面输入 thisisunsafe,不是在地址栏输入,而是直接敲击键盘输入,页面会自动刷新进入网页。更多HTTPS服务器搭建可以关注赵一八笔记。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章