【发布时间】:2019-10-07 16:11:33
【问题描述】:
最近我将由 angular 7 客户端和 asp .net core web api (.net core v2.2) 组成的简单应用程序转移到生产环境中,遇到了一个奇怪的问题。当我尝试执行一个应该在标头中使用身份验证令牌进行发布请求的操作时,我收到了 401 - 未经授权的服务器错误。
我的生产环境是 Ubuntu 18.04 和 Apache2 服务器,代理设置为从端口 80 重定向到端口 5000(这是 API 所在的地方)。
在开发环境中,一切都运行良好,没有任何错误,所以我猜想将请求标头从 apache 传输到 kestrel。
我试图用谷歌搜索这个问题,在微软的网站上我发现我需要在我的 startup.cs 文件中使用转发头方法,如下所示:
app.UseForwardedHeaders(new ForwardedHeadersOptions
{
ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
});
app.UseAuthentication();
我像这样配置了我的启动类,但没有任何成功。 任何试图找到解决方案的帮助或指导将不胜感激。 非常感谢您。
【问题讨论】:
标签: apache proxy .net-core angular7 kestrel