codecamp

Micronaut 主机解析

您可能需要解析当前服务器的主机名。 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

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

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


Micronaut 自定义参数绑定
Micronaut 地域解析
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Micronaut 独立命令行应用程序

Micronaut 安全

Micronaut 多租户

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }