web-dev-qa-db-fra.com

Asp.net core 2.1 UseHttpsRedirection ne fonctionne pas dans IIS

J'ai déployé mon core asp.net core 2.1 WebApi vers IIS 10. (Le IIS fonctionnait comme un proxy))

J'ai ajouté un certificat SSL dans IIS et des liaisons pour le port non sécurisé (8081) et le port sécurisé (8082).

Mais lorsque je visite http: // localhost: 8081/api/values , le navigateur me renvoie simplement 403 Interdit, ne me redirige pas vers https: // localhost: 8082/api/values .

Mon code de démarrage est comme ci-dessous:

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc()
           .SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

        services.AddHttpsRedirection(options=>
        {
            options.HttpsPort = 8082;
        });
    }


    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        //app.UseForwardedHeaders();
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        else
        {
            app.UseHsts();
        }

        app.UseHttpsRedirection();
        app.UseMvc();
    }
9
Charlie

Dans mon startup.cs j'ai fait ces paramètres

public void ConfigureServices(IServiceCollection services)
{
    try
    {
        //..other codes

        services.AddHttpsRedirection(options =>
        {
            options.HttpsPort = 443;
        });
    }
    catch (Exception ex)
    {
        string innerMessage = "";
        if (ex.InnerException != null)
            innerMessage = ex.InnerException.Message;

        Log.Logger.Error("ConfigureServices Message: " + ex.Message + " inner Message:" + innerMessage + "Env.Name:" + _env.EnvironmentName);
    }
}

Et dans la méthode Configure, j'ai utilisé comme ça

        app.UseHttpsRedirection();

        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        else
        {
            app.UseExceptionHandler("/Error");
            app.UseHsts();
        }
0
Hamit YILDIRIM