如果安装了像 NGINX 这样的前端服务器,我无法理解在 Linux 机器上如何发生通信。
例如这是我的设置。
基于 AWS / EC2 Linux 的实例
NGINX-前端服务器
Node.js / Express - 上游服务器
在此设置下,即使不设置环境变量,我也可以轻松通过 NGINX 与 、 和其他工具进行通信ping
。curl
默认Node Package Manager
情况http_proxy
下,无需任何额外配置,这些工具就知道如何通过 NGINX 进入互联网。
在这种常见设置中,为什么我不必设置http_proxy
或类似设置以允许外部通信?一旦安装了 NGINX,所有流量不是都会经过它吗?
答案1
nginx 是一个 Web 服务器,用于响应传入的 HTTP / HTTPS 请求。只要 nginx 监听的接口可以从公共互联网连接,nginx 就可以为其提供网页。
其他服务器对互联网的访问由网络设置决定。在这种情况下,所有这些服务器都有到互联网的默认路由,因此它们的 IP 数据包由网络中的边缘路由器转发到任何公共互联网地址。
这两起案件并无关联。
如果网络边缘有防火墙,那么您可以限制每个内部服务器的访问。