- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们的 ASP .Net Core (Razor) 应用程序托管在 AWS 中,并放置在 LoadBalancer (https) 之后。我知道 LoadBalancer 存在 URL 始终不安全的错误。重写规则的集成如下所述:https://stackoverflow.com/a/46719766/3835956
但是我们使用 Azure 身份验证连接到我们的 Active Directory,并且转发(回复 URL)将始终重定向到不安全的 http 地址。好的,url 会被重写为 https,但是会短时间调用 http 地址,并且该过程是不安全的。我必须将带有 http 和 https 的 URL 添加到 Azure 应用程序属性中的回复 URL 列表中才能登录。
身份验证的配置方式如下:
public void ConfigureServices(IServiceCollection services)
{
[...]
services.AddAuthentication(AzureADDefaults.AuthenticationScheme)
.AddAzureAD(options => Configuration.Bind("AzureAd", options));
services.AddMvc(options =>
{
var policy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.Build();
options.Filters.Add(new AuthorizeFilter(policy));
})
.SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
[...]
// Fix for AWS LoadBalancer to rewrite url back to https
// https://stackoverflow.com/a/46719766/3835956
var options = new RewriteOptions()
.AddRedirectToProxiedHttps()
.AddRedirect("(.*)/$", "$1"); // remove trailing slash
app.UseRewriter(options);
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseSession();
app.UseAuthentication();
app.UseMvc();
}
Azure 应用程序中的回复 URL 列表目前为:
是否有技巧可以将 Azure 指向正确的回复 URL?非常感谢。
更新1:
appsettings.json 如下所示:
{
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"Domain": "domain.com",
"TenantId": "abc-123",
"ClientId": "abc-123",
"CallbackPath": "/signin-oidc"
},
[...]
"AllowedHosts": "*"
}
最佳答案
我遇到了和你一样的问题,然后我找到了这个文档: https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/proxy-load-balancer?view=aspnetcore-3.1#scenarios-and-use-cases
然后我在方法的顶部添加了以下内容:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.Use((context, next) =>
{
context.Request.Scheme = "https";
return next();
});
// other stuff omitted
}
它解决了问题。重定向 URL 现在是 HTTPS。
关于amazon-web-services - Azure 回复 url 在 AWS 负载均衡器后面始终不安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51760153/
我是一名优秀的程序员,十分优秀!