我有一台运行 Apache 和 Node.js 服务器的机器。流量通过 Apache 路由,mod_proxy
如下所示:
<VirtualHost *:443>
ServerName example.com
ProxyPass / http://localhost:3000 #Node.js application
...
(cert info)
...
</VirtualHost>
Node.js 服务器启动如下:
http.createServer(app).listen(process.env.PORT || 3000)
// As opposed to https.createServer...
由于初始请求是通过 HTTPS 发出的,即使流量被传递到一个可能不安全的应用程序,它是否仍然是安全的?我无法想象请求会在 Apache 和 Node 之间暴露,不是吗?我最好的猜测是,如果所有请求(甚至从 Node 到它自己的请求)都是通过 HTTPS 发出的,那么https://example.com
它们将是安全的。
答案1
我无法想象该请求会在 Apache 和 Node 之间暴露,不是吗?
嗯,是的,但是表面看来很小,并且实际上并不比 apache 将其传递给系统上的另一个守护进程(例如 php-fpm)更糟糕。
请记住,localhost (127.0.0.1) 是系统上的环回接口。如果有人可以监听该接口上的流量,则他们已经进入了您的系统。