Přesměrování nešifrované komunikace na protokol HTTPS: Porovnání verzí
(→=Přiřazení certifikátu k webové aplikaci) |
|||
Řádek 81: | Řádek 81: | ||
Certifikát se objeví v seznamu serverových certifikátů. | Certifikát se objeví v seznamu serverových certifikátů. | ||
− | ====Přiřazení certifikátu k webové aplikaci=== | + | ====Přiřazení certifikátu k webové aplikaci==== |
* V IIS Manageru vyberte aplikaci enTeam.WebApi | * V IIS Manageru vyberte aplikaci enTeam.WebApi |
Verze z 29. 8. 2025, 10:39
Obsah
Nastavení HTTPS
Pro zajištění bezpečnosti komunikace klientů s webovým rozhraním aplikace enTeam doporučujeme nastavit šifrovanou komunikaci pomocí protokolu HTTPS.
Nastavení HTTPS se liší dle způsobu provozování webového rozhraní (služba OS Windows vs. aplikace provozovaná v IIS).
Předpoklady
Jediným předpokladem nastavení HTTPS je existence použitelného SSL certifikátu, který splňuje následující podmínky:
- je platný (časově)
- je vydaný na doménu, na které je provozováno webové rozhraní enTeam
- obsahuje rozšíření "Server Authentication" (Extended Key Usage = Server Authentication)
- je vydán uznávanou certifikační autoritou
- obsahuje privátní klíč
Pro jednoduchost budeme dále v textu předpokládat, že certifikát je na serveru importován do úložiště certifikátů LocalMachine\My
a je dostupný pro uživatele, pod kterým běží webový server s webovým rozhraním enTeam.
Služba OS Windows
V případě, že webové rozhraní enTeam je provozováno jako služba operačního systému Windows, je pro jeho běh použit webový server Kestrel.
Kompletní dokumentaci nastavení webového serveru Kestrel lze nalézt na https://learn.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel/endpoints?view=aspnetcore-8.0
Zjištění údajů certifikátu
Pro konfiguraci je třeba znát buď:
Subject
, neboThumbprint
– např.AB12CD34EF56...
Tyto údaje je možné zjistit pomocí aplikace PowerShell: <syntaxhighlight lang="powershell"> Get-ChildItem -Path Cert:\LocalMachine\My </syntaxhighlight>
Konfigurace appsettings.json
V adresáři projektu upravte soubor appsettings.json
:
Varianta se Subject:
"Kestrel": { "Endpoints": { "Https": { "Url": "https://*:5001", "Certificate": { "Subject": "<... zjištěná hodnota Subject ...>", "Store": "My", "Location": "LocalMachine", "AllowInvalid": false } } } }
Varianta s Thumbprint:
"Kestrel": { "Endpoints": { "Https": { "Url": "https://*:5001", "Certificate": { "Thumbprint": "<... zjištěná hodnota Thumbprint ...>", "Store": "My", "Location": "LocalMachine", "AllowInvalid": false } } } }
Poznámka: Klíč AllowInvalid: false
zakazuje použití samo-podepsaných (self-signed) certifikátů. V neprodukčním prostředí lze jejich použití povolit nastavením hodnoty true
.
Aplikace v rámci IIS
V případě, že webové rozhraní enTeam je provozováno jako aplikace v rámci webového serveru IIS, je třeba certifikát importovat do IIS a nastavit jeho použití aplikací.
Kompletní dokumentaci nastavení webového serveru IIS lze nalézt na https://learn.microsoft.com/en-us/iis/configuration/
Import certifikátu do IIS
Certifikát ve formátu .pfx
importujte do IIS následujícím postupem:
- Otevřte aplikaci IIS Manager (inetmgr)
- V levém panelu klikněte na název serveru (ne na konkrétní web)
- Otevřte položku Server Certificates
- Vpravo klikněte na Import...
- Vyberte
.pfx
soubor a zadejte heslo - Potvrďte tlačítkem OK
Certifikát se objeví v seznamu serverových certifikátů.
Přiřazení certifikátu k webové aplikaci
- V IIS Manageru vyberte aplikaci enTeam.WebApi
- Vpravo klikněte na Bindings...
- Zvolte Add...
- Type:
https
- IP address:
All Unassigned
- Port: port pro aplikaci webového rozhraní enTeam
- SSL certificate: vyberte certifikát
- Type:
- Potvrďte kliknutím na OK