Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .NET核心&x2B;Nginx丢失HTTP头_C#_Nginx_Asp.net Core - Fatal编程技术网

C# .NET核心&x2B;Nginx丢失HTTP头

C# .NET核心&x2B;Nginx丢失HTTP头,c#,nginx,asp.net-core,C#,Nginx,Asp.net Core,我正在使用自定义头向我的API发送HTTP GET请求 var request = new RestRequest(endpoint, Method.GET); request.AddHeader("__Test", data); var response = client.Execute(request); 在本地主机上一切正常,但当我在使用Nginx的服务器上部署API时,这个头“丢失” 这是我的nginx配置 location / { proxy_pass htt

我正在使用自定义头向我的API发送HTTP GET请求

var request = new RestRequest(endpoint, Method.GET);
request.AddHeader("__Test", data);
var response = client.Execute(request);
在本地主机上一切正常,但当我在使用Nginx的服务器上部署API时,这个头“丢失”

这是我的nginx配置

location / {
    proxy_pass         http://localhost:5000;
    proxy_http_version 1.1;
    proxy_set_header   Upgrade $http_upgrade;
    proxy_set_header   Connection keep-alive;
    proxy_set_header   Host $host;
    proxy_cache_bypass $http_upgrade;
    proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header   X-Forwarded-Proto $scheme;
}
Startup.cs

app.UseForwardedHeaders(new ForwardedHeadersOptions
{
    ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
});

app.UseHttpsRedirection();
这在本地主机上可以正常工作,但在服务器上不行:

HttpContext.Request.Headers.TryGetValue("__Test", out var data)

有人知道什么地方会出错吗?

出现问题是因为我在标题的名称中使用了
\u

解决方案:

使用

在上的\u标题中加下划线

nginx.conf