Jaf*_*s82 2 c# azure http-redirect asp.net-core asp.net-core-2.0
我正在运行一个 ASP.NET Core 2.0 应用程序,该应用程序利用应用程序网关后面的 Azure 应用服务中托管的 ASP.NET Identity。
我设置了一个自定义域,通过 SSL 指向应用程序网关,然后终止 SSL 并将请求转发到我的后端池,该池使用超过 80 的默认 *.azurewebsites.net 域。
例如,请求 custom.com:443 ---> 应用程序网关 ---> custom.azurewebsites.net:80
我已使用以下中间件将 ASP.NET Core 2.0 应用程序配置为在 1 小时后将用户会话超时:
services.ConfigureApplicationCookie(options =>
{
options.ExpireTimeSpan = TimeSpan.FromMinutes(60);
});
Run Code Online (Sandbox Code Playgroud)
当用户超时然后执行另一个操作时,他们将被重定向到 custom.azurewebsites.net:80 上应用服务的登录页面,而不是通过应用程序网关返回。
有没有一种方法可以在超时时重定向到绝对 URL 而不是相对 URL?
感谢特拉彻对此的帮助。
Azure 应用程序网关似乎没有添加 X-Forwarded-Host 标头,因此添加中间件app.UseForwardedHeaders()是徒劳的。相反,我添加了一个配置值,该值保存当前环境的主机,并使用自定义域覆盖每个请求的“主机”属性。
app.Use((ctx, next) =>
{
ctx.Request.Host = new HostString(options.Value.CustomDomain);
return next();
});
Run Code Online (Sandbox Code Playgroud)
然后,ASP.NET 身份验证中间件使用该值来构造重定向 URL。
我还在这里向 Microsoft 写了一些关于此问题的反馈,因为我确信我的用例不会不常见。
| 归档时间: |
|
| 查看次数: |
1958 次 |
| 最近记录: |