KestrelServerOptions.AllowHostHeaderOverride 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在 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。