为什么基于主机标头路由请求是代理流量的一种好方法?

问题描述 投票:1回答:1

proxy documentation for Kong中,提到

基于主机标头路由请求是最简单的通过Kong代理流量的方法,尤其是因为这是HTTP Host标头的预期用法

但是,要使其正常工作,来自客户端的任何传入请求现在都必须将其Host标头设置为特定值。通常,HTTP客户端不会有意修改此值,因此在实践中如何使用它?

换句话说,客户端通常不会在其请求中修改HTTP主机标头,就像is在文档的curl示例中所做的,例如:curl --url http://proxy.mydomain.com:8000/ --header 'Host: service.example.com'

鉴于代理旨在对客户端透明,为什么会出现“这是HTTP Host标头的预期用法”的情况?

http proxy http-headers api-gateway kong
1个回答
0
投票

如果代理对客户端是透明的,则客户端通常不知道使用了代理,因此会通过DNS解析IP地址。然后,客户端相应地建立到IP地址的TCP连接。

(透明)代理现在可以拦截流量。现在,Host标头是获得服务器FQDN的唯一机会。如果连接是HTTPS,则这很重要,因此代理可以将主机标头值用作SNI /验证服务器的证书。

独立于透明代理的使用,主机头应包含服务器名称,该名称允许使用同一服务器硬件托管多个网页。

示例:

具有四个网站的服务器IP 1.2.3.4:www.a.com、www.b.com、www.c.com、www.d.com。

客户端必须在主机标头中提供网站的值,以允许服务器区分不同的网站。

© www.soinside.com 2019 - 2024. All rights reserved.