c# - .NET Core + Nginx 丢失 HTTP 标头
问题描述
我正在使用自定义标头向我的 API 发送 HTTP GET 请求
var request = new RestRequest(endpoint, Method.GET);
request.AddHeader("__Test", data);
var response = client.Execute(request);
在 localhost 上一切正常,但是当我在使用 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;
}
启动.cs
app.UseForwardedHeaders(new ForwardedHeadersOptions
{
ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
});
app.UseHttpsRedirection();
这在本地主机上工作正常,但在服务器上不行:
HttpContext.Request.Headers.TryGetValue("__Test", out var data)
有人知道会出什么问题吗?
解决方案
出现问题是因为我__
在标题名称中使用了
解决方案:
利用
underscores_in_headers on;
在
nginx.conf
推荐阅读
- amazon-web-services - ACM 证书 - SSL_ERROR_BAD_CERT_DOMAIN
- reactjs - 反应:在父重新渲染时,道具不会传递给子组件
- azure-functions - Azure 函数存储帐户
- android - Android:图像对齐
- c# - ASP MVC - 底层连接已关闭:发送时发生意外错误
- apache-kafka - 如何正确重启kafka服务器?
- string - 如果当前目录中的任何文件夹包含使用批处理的关键字,则删除文件
- sql-server - SSIS正确处理传入文件的未知时间
- c# - 如何为文本聚类绘制向量空间模型?
- powershell - 在powershell中比较两个csv文件时我在哪里出错?