我想确保与我的网络应用程序的任何通信都是安全的。
这是我开发的第一个网络应用程序,而且我对这个后端/基础架构世界很陌生,所以我的问题可能听起来有些愚蠢。
我的应用程序是用Node.js
编写的,我使用Express
:
var express = require('express'),
bodyParser = require('body-parser'),
methodOverride = require('method-override'),
errorHandler = require('errorhandler'),
jsdom = require('jsdom'),
http = require('http'),
...
var server = http.createServer(app).listen(app.get('port'), function () {
// Allow prompt in Node after launching
repl = require("repl")
repl.start("> ")
});
此应用在AWS的EC2实例上运行(不知道措辞是否正确),并且使用HTTPS保护与应用的任何通信(我可以对https://my.api.com/get/results进行API调用,例如)。
到目前为止,一切都很好,但我想知道这一切是否安全。
您可能已经注意到,我没有在快速服务器上使用HTTPS:
http = require('http')
据我所知,快递服务器仍然是"背后"在我的案例中是一个HTTPS安全门户网站。
在释放无担保的东西之前更好地询问..
答案 0 :(得分:3)
如果你有一个为你处理HTTPS的反向代理,那么通常不需要在你的Node应用程序中使用HTTPS,特别是如果那两个通信的网络是安全的 - 比如你的环回接口或内部网络数据中心。如果反向代理和您的Node应用程序通过公共Internet进行通信,那么您也需要为该流量使用HTTPS。
有关详细信息,请参阅这些答案: