![反向代理是否使用子域来知道要路由到哪个私有 IP?](https://linux22.com/image/746054/%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%E6%98%AF%E5%90%A6%E4%BD%BF%E7%94%A8%E5%AD%90%E5%9F%9F%E6%9D%A5%E7%9F%A5%E9%81%93%E8%A6%81%E8%B7%AF%E7%94%B1%E5%88%B0%E5%93%AA%E4%B8%AA%E7%A7%81%E6%9C%89%20IP%EF%BC%9F.png)
我知道这很基础,但我对反向代理和网络管理领域还很陌生。有人能概括一下反向代理如何知道将流量路由到哪个服务器/端口吗?它使用 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(服务器名称指示)提供请求的主机。