Node.js搭建Https服務(wù)

Node.js用于做小程序后臺(tái)服務(wù),域名要求必須是Https協(xié)議。在Node.js開啟Http服務(wù)是非常簡(jiǎn)單的,如下:

如果想使用Https服務(wù)需要兩步:1. 需要有一份SSL證書;2. 使用Node.js自身的Https模塊。
SSL證書
獲取SSL證書方式有兩種:
自己借助openSSL工具生成SSL證書
下載某些平臺(tái)提供的免費(fèi)/付費(fèi)的SSL證書(推薦)
我是使用某云平臺(tái)提供免費(fèi)的證書

點(diǎn)擊下載后選擇服務(wù)器類型

下載后的文件分別是以.key、.pem
為后綴,其中.key
文件是base64加密私鑰,.pem
文件是base64加密的證書

使用Node.js自身的Https模塊開啟一個(gè)服務(wù)
相較Http,它多了一個(gè)options參數(shù)。
由于SSL證書我綁定的域名是www.linglan01.cn,當(dāng)我使用https://127.0.0.1:8080訪問服務(wù)時(shí)與綁定的域名不相符,它會(huì)被攔截訪問,僅允許www.linglan01.cn訪問。

使用域名為www.linglan01.cn才能正常的訪問。

使用Express框架開啟Https
工作中肯定是使用社區(qū)的Express等框架進(jìn)行開發(fā),想在Express等框架中開啟Https也非常容易,以Express舉例:

總結(jié)
Node.js中搭建Https服務(wù)不難,Node.js已經(jīng)為我們提供了Https模塊可以快捷的完成搭建。Https服務(wù)實(shí)際中僅會(huì)使用到線上環(huán)境,如果本地環(huán)境也需要,我們也可以使用openSSL工具生成一個(gè)證書。