KestrelServerOptions.AllowHostHeaderOverride 属性

定义

在 HTTP/1.x 中,如果请求目标采用绝对格式 (请参阅 RFC 9112 第 3.2.2 节) ,例如

GET http://www.example.com/path/to/index.html HTTP/1.1

主机标头是冗余的。 事实上,RFC说

当源服务器收到具有绝对形式的 request-target 的请求时,源服务器必须忽略接收的主机标头字段 ((如果有任何) ,而是使用请求目标的主机信息)。

但是,仍需检查请求目标和主机标头是否匹配,因为不匹配可能指示欺骗尝试(例如)。 将此属性设置为 true 会绕过检查,并使用请求目标中的值无条件地覆盖 Host 标头。

public bool AllowHostHeaderOverride { get; set; }
member this.AllowHostHeaderOverride : bool with get, set
Public Property AllowHostHeaderOverride As Boolean

属性值

注解

此选项不适用于 HTTP/2 或 HTTP/3。

适用于