C# Azure自定义子域在使用ASP.NET Core 3.1时引发307错误

C# Azure自定义子域在使用ASP.NET Core 3.1时引发307错误,c#,asp.net,azure,cloudflare,asp.net-core-3.1,C#,Asp.net,Azure,Cloudflare,Asp.net Core 3.1,我在Azure上有一个ASP.NET Core 3.1网站。通过“mysite.azurewebsites.net”URL加载效果很好。尽管如此,当我尝试通过Azure门户中的“自定义域”选项配置的自定义域访问时,站点随后开始抛出307个重定向错误,重复重定向到自身(子域=>子域),直到页面爆炸 所有DNS设置都是通过Cloudflare配置的 对于子域,我定义了一个CNAME记录,其中“name”只是子域,“content”值是“mysite”.azurewebsites.net 我还有另一个

我在Azure上有一个ASP.NET Core 3.1网站。通过“mysite.azurewebsites.net”URL加载效果很好。尽管如此,当我尝试通过Azure门户中的“自定义域”选项配置的自定义域访问时,站点随后开始抛出307个重定向错误,重复重定向到自身(子域=>子域),直到页面爆炸

所有DNS设置都是通过Cloudflare配置的

对于子域,我定义了一个CNAME记录,其中“name”只是子域,“content”值是“mysite”.azurewebsites.net

我还有另一个子域,配置方式与此完全相同,但它运行的是ASP.NET Core 1.0

我读了一些关于ASP.NET Core 3.1默认启用HTTPS的文章,但是我的所有站点都已经运行HTTPS了

如果该站点通过subdomain.mydomain.com被调用,但使用相同的URL发送了307,那么我错在哪里

网站重定向(ASP.NET Core 3.1):

azurewebsites版本(ASP.NET Core 3.1):

工作的不同子域(ASP.NET Core 1.0):

编辑:好的,我已经弄明白了为什么它会抛出重定向/错误,这是因为Startup.cs:

app.UseHttpsRedirection();

但是,我不想这样吗?为什么说出来会让一切顺利?如果您导航到d3.skolveltstat.com,现在一切正常。但是,我想强制使用HTTPS,或者出于某种原因这是多余的?

检查您是否已将Appservice计划的TLS/SSL设置设置为HTTPS only=On

有了这个,http调用不应该到达您的代码,因此您将不会触发http 307临时重定向


有很多方法可以在代码中实现永久重定向。

Hmm,在Azure中它们都没有配置为“仅HTTPS”,TLS设置为1.0。但它们都自动重定向到当前的httpS版本(将UseHttpsRedirection注释掉)。你是说我需要在Azure中打开它,并重新启用UseHttpsRedirection?是的,在Azure中打开它。UseHttpsRedirection用于临时重定向,您可以重新启动,也可以不重新启动,不应产生影响。