Problem z przekierowaniem HTTP na HTTPS.

Problem z przekierowaniem HTTP na HTTPS.
Raziel295
  • Rejestracja:ponad 8 lat
  • Ostatnio:prawie 3 lata
  • Postów:38
0

W klasie
Startup.cs
w metodzie

Kopiuj
public void ConfigureServices(IServiceCollection services)

mam

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

natomiast w metodzie Configure mam

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

Natomiast plik

Kopiuj
launchSettings.json

wygląda tak

Kopiuj
{
  "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ę

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

na

Kopiuj
 "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

edytowany 8x, ostatnio: Raziel295
obscurity
  • Rejestracja:około 6 lat
  • Ostatnio:około 4 godziny
0

a ustawienia przekierowania:

options.HttpsPort = 443;

też zmieniasz na 44350?


"A car won't take your job, another horse driving a car will." - Horse influencer, 1910
edytowany 1x, ostatnio: obscurity
Raziel295
  • Rejestracja:ponad 8 lat
  • Ostatnio:prawie 3 lata
  • Postów:38
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:

Kopiuj
options.HttpsPort = 443
edytowany 6x, ostatnio: Raziel295
Raziel295
  • Rejestracja:ponad 8 lat
  • Ostatnio:prawie 3 lata
  • Postów:38
0

Dobra sprawdziłem jeszcze raz i zmieniłem

Kopiuj
options.HttpsPort = 443;

na

Kopiuj
options.HttpsPort = 44350;

i działa poprawnie.

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

Kopiuj
options.HttpsPort = 443

oraz

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

w dokumentacji jest to samo

Kopiuj
options.HttpsPort = 443

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

edytowany 2x, ostatnio: Raziel295
obscurity
  • Rejestracja:około 6 lat
  • Ostatnio:około 4 godziny
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


"A car won't take your job, another horse driving a car will." - Horse influencer, 1910
edytowany 1x, ostatnio: obscurity
Raziel295
  • Rejestracja:ponad 8 lat
  • Ostatnio:prawie 3 lata
  • Postów:38
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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.