无法从 NGINX 获取包含句点的标头

cla*_* wu 3 header nginx asp.net-web-api asp.net-core aspnetboilerplate

标头"Abp.TenantId"null因为".".

如果去掉"."(如"AbpTenantId"),就可以了。

如何添加带有 的标题"."

=================================================== =====

localhost调试:

  1. 显示临时标头(根据客户请求显示)
  2. Request.Headers.Unknown(在服务器、api 操作中显示此内容)
  3. Request.Headers.MaybeUnknown(在服务器、api 操作中显示此内容)

localhost没问题。

服务器中的相同代码,但服务器错误。

的代码tenantId

在此输入图像描述

日志没有tenantId,所以报错:

在此输入图像描述

localhost没问题:

本地主机成功

服务器失败:

服务器失败

aar*_*ron 5

Nginx 作为反向代理不会传递包含句点的标头。

动态血压 4.4+

TenantIdResolveKey可配置:

Configuration.MultiTenancy.TenantIdResolveKey = "Abp-TenantId";
Run Code Online (Sandbox Code Playgroud)

低于 ABP 4.4

您可以在 Nginx 中关闭忽略“无效”标头

Syntax:  ignore_invalid_headers on | off;
Default: ignore_invalid_headers on;
Context: http, server
Run Code Online (Sandbox Code Playgroud)

控制是否应忽略具有无效名称的标头字段。有效名称由英文字母、数字、连字符和可能的下划线组成(由 underscores_in_headers 指令控制)。

如果该指令是在服务器级别指定的,则仅当服务器是默认服务器时才使用其值。指定的值也适用于侦听同一地址和端口的所有虚拟服务器。