簡體   English   中英

可以使用express在node.js中以相同的端口號運行http和https服務器嗎?

[英]Is possible to run http and https server with same port no in node.js using express?

我有兩個帶有密鑰的服務器HTTP和HTTPS。一旦通過身份驗證,則需要在同一端口將Http更改為HTTPS。

var httpsoptions={
key:fs.readFileSync('./keys/twc-key.pem'),
cert:fs.readFileSync('./keys/twc-cert.pem')
};

var webServer = express();    
var websecure = express(httpoptions);  

在這里,我需要為Http和Https維護相同的端口,怎么可能?

使用Nginx作為反向代理

  • 您可以在nginx上啟用HTTP,並通過nginx代理您的節點應用程序。

使用express-vhost中間件

  • 在子域上使用express-vhost並托管https
  • 例如。 https://secure.url.com
  • https://login.url.com

使用端口443

  • 更容易了!
  • 基本上所有瀏覽器都將443用作https的默認端口。 有人稱它已被棄用,但我看不出有什么理由支持這一說法。
  • 仍將443作為https的默認端口。

通過https托管所有內容

  • 許多網站已經這樣做了
  • 防止會話劫持
  • 防止令牌劫持
  • 防止MITM攻擊
  • 即使您只是安全登錄,之后,您的Cookie仍以純文本形式出現在http標頭中。 攻擊者可能竊取會話cookie並劫持用戶會話。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM