1. 程式人生 > >使用HTTPS保障HTTP伺服器的安全性-使用Node.js HTTPS模組建立HTTPS伺服器

使用HTTPS保障HTTP伺服器的安全性-使用Node.js HTTPS模組建立HTTPS伺服器

這篇文章是下面部落格的進一步搭建HTTPS server的部落格
// angular nodejs express mongodb apache,模擬線上部署(HTTP server)
https://blog.csdn.net/liangxw1/article/details/79073521

環境

Linux(Centos): Apache(httpd-2.4.29), Nodejs(8.11.1),Angular4.6

在前後端分離的基礎上,網站要支援 https,對於MEAN應用,要考慮一下幾點

  1. Angular執行在linux的Apache的80埠下,使用者能感知到的只是Apache的80埠
  2. Nodejs執行在同一Linux的3000埠下(或者說不是同一個linux的其他埠),從Angular的http請求到Apache做代理,對映到nodejs的3000埠的過程,對使用者來說是透明的,使用者感知不到;這裡從Apache的80對映到nodejs的3000的過程,也就是需要Nodejs需要支援HTTPS訪問,這裡Nodejs是否需要 HTTPS的支援,換句話說,這裡肯定(或者說99.99)都是內網的對映情況和通訊(或者是同一個Linux主機的不同埠的通訊),是否需要配置 HTTPS,有待考量,當然從嚴格的安全的角度來說,提供HTTPS是有必要的,
  3. 綜合1,2,需要提供https訪問的地方有Apache的80埠和Nodejs的443埠

以使用者訪問google為例,不同的url訪問方式有如下的處理,不同的網站不盡相同,比如百度的,csdn的不完全一樣,但是大體思路一致,
這裡的處理歸於類似Apache的前端伺服器,所以在Apache伺服器需要做如下的需求的配置
同時需要在Apache伺服器配置 https的80埠訪問能力

自己生成的證書或者購買的證書,個人理解,可以同時用在配置https的Apache伺服器上和配置https的Nodejs server上
[Nodejs+Express建立HTTPS伺服器]這裡已經介紹如何在nodejs配置https訪問,下面主要說說在Apache server上配置類似於上面訪問google的配置。