Problem z przekierowaniem HTTP na HTTPS.

0

W klasie
Startup.cs
w metodzie

public void ConfigureServices(IServiceCollection services)

mam

services.AddHttpsRedirection(options =>
            {
                options.RedirectStatusCode = StatusCodes.Status307TemporaryRedirect;
                options.HttpsPort = 443;
            });

natomiast w metodzie Configure mam

app.UseHttpsRedirection();
app.UseCookiePolicy();
app.UseSession();
app.UseRouting();

Natomiast plik

launchSettings.json

wygląda tak

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:5000",
      "sslPort": 44350
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development",
        "ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation"
      }
    },
    "ASP.NET_CORE_MVC": {
      "commandName": "Project",
      "dotnetRunMessages": "true",
      "launchBrowser": true,
      "applicationUrl": "https://localhost:443;http://localhost:5000",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development",
        "ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation"
      }
    }
  }
}

wszystko działa i przekierowuje mnie z http://localhost:5000 na http://localhost (portu nie widać ale działa) natomiast jak zmienię

 "applicationUrl": "https://localhost:443;http://localhost:5000",

na

 "applicationUrl": "https://localhost:44350;http://localhost:5000",

czyli taki jak ustawiony port SSL to nie działa. Firefox zwraca błąd mówiący o tym, że nie udało się nawiązać połącznia z localhost Działa w przypadku, gdy wpiszę link https://localhost:44350 Ktoś mi może powiedzieć o co chodzi? W książce (Pro ASP.NET Core MVC 3) mam napisane "applicationUrl": "https://localhost:44350;http://localhost:5000" czyli tak jak ustawiony jest port ssl w sekcji IIS Express

0

a ustawienia przekierowania:

options.HttpsPort = 443;

też zmieniasz na 44350?

0
obscurity napisał(a):

a ustawienia przekierowania:

options.HttpsPort = 443;

też zmieniasz na 44350?

Tak zmieniłem i wciąż nie działa. Jednak nie wiem czemu miałbym to robić. W książce jak i dokumentacji jest:

options.HttpsPort = 443
0

Dobra sprawdziłem jeszcze raz i zmieniłem

options.HttpsPort = 443;

na

options.HttpsPort = 44350;

i działa poprawnie.

Jednakże książkowy przykład nie działa. Wygląda on tak:

options.HttpsPort = 443

oraz

 "applicationUrl": "https://localhost:44350;http://localhost:5000"

w dokumentacji jest to samo

options.HttpsPort = 443

Co może być powodem tego, że nie działa to poprawnie?

3

Przyczyną może być to że to nie ma sensu.
Serwujesz stronę na porcie 44350 a przekierowanie dajesz na port 443, więc to nie ma prawa działać (chyba że masz tam wystawioną inną stronę).

Standardowy domyślny port to jednak 443, czemu używasz innego? W książkach jest wiele błędów

0
obscurity napisał(a):

Przyczyną może być to że to nie ma sensu.

Serwujesz stronę na porcie 44350 a przekierowanie dajesz na port 443, więc to nie ma prawa działać (chyba że masz tam wystawioną inną stronę).

Standardowy domyślny port to jednak 443, czemu używasz innego? W książkach jest wiele błędów

Przykład z książki mnie trochę skołował :D
Dzięki za pomoc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1