这似乎是vs2022+net 6.0的新问题,之前的vs2019+net 5.0没有问题。
访问发布的网站时,浏览器会发送header“Upgrade-Insecure-Requests:1”,服务器(Windows 2019 + IIS)会自动返回307重定向到https。
我没有任何 https 配置,在我的本地开发环境中也没有这个问题。
有没有人遇到同样的问题?有解决办法吗?
我的程序.cs:
using System.Text.Encodings.Web;
using System.Text.Unicode;
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddControllers();
builder.Services.AddControllersWithViews();
builder.Services.AddHttpContextAccessor();
builder.Services.AddSingleton<MetaCaches>();
builder.Services.AddRazorPages().AddRazorRuntimeCompilation();
builder.Services.AddControllersWithViews(options => {
options.Filters.Add<ViewBagActionFilter>();
});
builder.Services.AddSingleton(HtmlEncoder.Create(UnicodeRanges.All));
//builder.Services.AddHttpsRedirection(options =>
//{
// options.RedirectStatusCode = (int)System.Net.HttpStatusCode.TemporaryRedirect;
// options.HttpsPort = 5001;
//});
var app = builder.Build();
app.MapControllerRoute(name: "default", pattern: "{controller=Home}/{action=Index}/{id?}");
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Home/Error");
}
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.UseStaticHttpContext();
app.Run();
启动设置.json:
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:24707",
"sslPort": 0
}
},
"profiles": {
"MetaWeb": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"applicationUrl": "http://localhost:5110",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}