0

这似乎是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"
      }
    }
  }
}
4

0 回答 0