Porównane wersje

Klucz

  • Te wersy zostały dodane. Tosłowo zostało dodane.
  • Te wersy zostały usunięte. To słowo zostało usunięte.
  • Formatowanie zostało zmienione.
Info

Konfiguracja SSL’a jest indywidualnym procesem.

Aby dodać obsługę protokołu HTTPS, należy posiadać certyfikat SSL wydany przez zaufany urząd certyfikacji w formacie .PFX

W przypadku braku takiego certyfikatu, aby móc korzystać z HTTPS, można wygenerować tymczasowy certyfikat developerski. Kroki do jego utworzenia opisano w punkcie 2.

Spis kroków

Spis treści
minLevel1
maxLevel6
outlinefalse
styledefault
typelist
printabletrue

...

Instalacja certyfikatu SSL

Aby zainstalować certyfikat SSL i połączyć go z aplikacją LOG Plus, należy przenieść plik .PFX do katalogu cert w głównym katalogu aplikacji. Następnie nanieść odpowiednie zmiany w głównym pliku konfiguracyjnym appsettings.json, w lokalizacji: Kestrel.Endpoints.Https.Certificate (główna lokalizacja serwera).

Należy podmienić istniejący wpis “Certificate” na taki, jak w poniższym przykładzie wpisu konfiguracyjnego.

Blok Kodu
"Kestrel": {
  "Endpoints": {
    "Http": {
      "Url": "http://*:80"
    },
    "Https": {
      "Url": "https://*:443",
      "Certificate": {
        "Path": "<lokalizacja>",
        "Password": "<hasło>"
      }
    }
  }
}

Dodatkowo należy uzupełnić pola Path oraz Password odpowiednimi wartościami:

  • Path – ścieżka do pliku .PFX - np. cert/certyfikat.pfx lub /opt/LOGSystems/LOGPlus/cert/certyfikat.pfx

  • Password – opcjonalnie – hasło służące do eksportu elementów z pliku PFX. W przypadku jego braku, pozostawiamy tę wartość pustą ( “” ) lub całkowicie usuwamy wpis “Password” z pliku konfiguracyjnego.

Info

Naszym zaleceniem jest przechowywanie certyfikatów w katalogu cert - nie jest on kasowany podczas aktualizacji serwera. W przeciwnym przypadku, jeżeli np. umieścisz certyfikat w katalogu ssl, to przy pierwszej aktualizacji serwera zostanie on usunięty i usługa nie uruchomi się.

 

...

Tymczasowy certyfikat developerski

W przypadku gdy nie posiadamy zaufanego certyfikatu SSL, ale chcemy korzystać z protokołu HTTPS – można wygenerować certyfikat deweloperski. Wadą tego rozwiązania jest każdorazowo pojawiający się komunikat, informujący o tym, że połączenie nie jest prywatne. Samo bezpieczeństwo takiego certyfikatu jest porównywalne jak w przypadku zaufanego certyfikatu SSL.

Aby tego dokonać należy zainstalować paczkę: dotnet-sdk-3.1:

Windows: https://dotnet.microsoft.com/download

Linux: Komenda: apt install dotnet-sdk-3.1 

Oraz będąc w dowolnym kontekście w oknie konsolowym, wywołać komendę:

Blok Kodu
dotnet dev-certs https

Dodatkowo należy zadbać o to, aby w pliku konfiguracyjnym appsettings.json, pole “Kestrel” wyglądało następująco: (ważny jest sam wpis “Https” –  drugi wpis “Http” dotyczy połączeń bez certyfikatu).

Blok Kodu
"Kestrel": {
  "Endpoints": {
    "Http": {
      "Url": "http://*:80"
    },
    "Https": {
      "Url": "https://*:443",
      "Certificate": {
        "HTTPS": {
          "Source": "Store",
          "StoreLocation": "CurrentUser",
          "StoreName": "My",
          "Subject": "CN=localhost",
          "AllowInvalid": true
        }
      }
    }
  }
},

...

Brak certyfikatu - wyłączenie obsługi protokołu SSL

W przypadku gdy nie posiadamy certyfikatu SSL (sytuacja niezalecana), aby aplikacja zdołała się uruchomić, należy z pliku konfiguracyjnego appsettings.json, usunąć cały wpis:  Kestrel.Endpoints.Https.

...

Wymuszenie połączenia HTTPS

Aby wymusić połączenie HTTPS należy:

W plikach: appsettings.json i appsettings.default.json usunąć poniższe 3 linijki:

Blok Kodu
"Http": {
  "Url": "http://*:80"
},

Następnie zrestartować usługę LOG Plus (service logplus restart).