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