阅读(4097) (0)

Micronaut 主机解析

2023-02-23 11:22:30 更新

您可能需要解析当前服务器的主机名。 Micronaut 包含 HttpHostResolver 接口的实现。

默认实现按顺序在以下位置查找主机信息:

  1. 提供的配置

  2. 转发标头

  3. X-Forwarded- 标头。如果 X-Forwarded-Host 标头不存在,则忽略其他 X-Forwarded 标头。

  4. 主机头

  5. 请求 URI 的属性

  6. 嵌入式服务器 URI 上的属性

可以使用以下配置更改哪些标头提取相关数据的行为:

表 1. HostResolutionConfiguration 的配置属性
属性 类型 描述

micronaut.server.host-resolution

HttpServerConfiguration$HostResolutionConfiguration

主机解析配置

micronaut.server.host-resolution.host-header

java.lang.String

存储主机的标头名称

micronaut.server.host-resolution.protocol-header

java.lang.String

存储协议的头名称

micronaut.server.host-resolution.port-header

java.lang.String

存储端口的标头名称

micronaut.server.host-resolution.port-in-host

boolean

如果主机标头支持端口,则为真

micronaut.server.host-resolution.allowed-hosts

java.util.List

允许的主机正则表达式模式列表。任何解决

上述配置还支持允许的主机列表。配置此列表可确保任何已解析的主机与提供的正则表达式模式之一相匹配。这对于防止主机缓存中毒攻击很有用,建议配置。