我知道这很基础,但我对反向代理和网络管理领域还很陌生。有人能概括一下反向代理如何知道将流量路由到哪个服务器/端口吗?它使用 HTTP引荐来源/起源标题或什么?
假设我的域上有一个面向公众的反向代理服务器:示例.com。我想要拥有许多子域名,但每个子域名都必须有一个公共 IP 地址吗?b或者我可以使用 DNS 条目来路由该子域名吗,例如: pl.example.com到我的反向代理c,然后它将路由普子域名到端口1234在我的私人网络中的任何一台机器上,它本身也可以是反向代理,但是在另一个端口上?d
这是我不明白的,当我将流量从pl.example.com对于反向代理,它如何知道流量来自特定域(pl.example.com)? e
我已用上标标记每个问题,以便于回答。您可以随意将它们分组,然后给我提供一些链接。谢谢!
答案1
就像任何其他 Web 服务器一样,HTTP 反向代理可以查看Host
标头以确定客户端使用哪个地址访问服务器。VirtualHosts 也使用这种机制。
请记住,使用 HTTPS 时,反向代理必须终止 TLS 连接,并将请求以未加密的形式转发到后端或启动新的 TLS 连接。或者,TLS 客户端可以通过 SNI(服务器名称指示)提供请求的主机。