Přesměrování nešifrované komunikace na protokol HTTPS: Porovnání verzí
(→Konfigurace appsettings.json) |
|||
| (Není zobrazeno 7 mezilehlých verzí od stejného uživatele.) | |||
| Řádek 23: | Řádek 23: | ||
* <code>Thumbprint</code> – např. <code>AB12CD34EF56...</code> | * <code>Thumbprint</code> – např. <code>AB12CD34EF56...</code> | ||
| − | Tyto údaje je možné zjistit pomocí aplikace PowerShell: | + | Tyto údaje je možné zjistit pomocí aplikace PowerShell:<br> |
| − | < | + | {{Command|Get-ChildItem -Path Cert:\LocalMachine\My}} |
| − | Get-ChildItem -Path Cert:\LocalMachine\My | ||
| − | |||
====Konfigurace appsettings.json==== | ====Konfigurace appsettings.json==== | ||
| Řádek 32: | Řádek 30: | ||
<b>Varianta se Subject:</b> | <b>Varianta se Subject:</b> | ||
| − | < | + | <br> |
| − | |||
"Kestrel": { | "Kestrel": { | ||
"Endpoints": { | "Endpoints": { | ||
"Https": { | "Https": { | ||
| − | "Url": "https://*:5001", | + | "Url": "<nowiki>https://*:5001</nowiki>", |
"Certificate": { | "Certificate": { | ||
"Subject": "<... zjištěná hodnota Subject ...>", | "Subject": "<... zjištěná hodnota Subject ...>", | ||
| Řádek 47: | Řádek 44: | ||
} | } | ||
} | } | ||
| − | |||
| − | |||
<b>Varianta s Thumbprint:</b> | <b>Varianta s Thumbprint:</b> | ||
| − | < | + | <br> |
| − | |||
"Kestrel": { | "Kestrel": { | ||
"Endpoints": { | "Endpoints": { | ||
"Https": { | "Https": { | ||
| − | "Url": "https://*:5001", | + | "Url": "<nowiki>https://*:5001</nowiki>", |
"Certificate": { | "Certificate": { | ||
"Thumbprint": "<... zjištěná hodnota Thumbprint ...>", | "Thumbprint": "<... zjištěná hodnota Thumbprint ...>", | ||
| Řádek 66: | Řádek 60: | ||
} | } | ||
} | } | ||
| − | |||
| − | |||
| − | + | {{Note|Poznámka: Klíč <code>AllowInvalid: false</code> zakazuje použití samo-podepsaných (self-signed) certifikátů. V neprodukčním prostředí lze jejich použití povolit nastavením hodnoty <code>true</code>.}} | |
| − | == | + | ===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í.<br> | ||
| + | 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 <code>.pfx</code> 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 <code>.pfx</code> 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 {{FileName|enTeam.WebApi}} | ||
| + | * Vpravo klikněte na '''Bindings...''' | ||
| + | * Zvolte '''Add...''' | ||
| + | ** '''Type''': <code>https</code> | ||
| + | ** '''IP address''': <code>All Unassigned</code> | ||
| + | ** '''Port''': port pro aplikaci webového rozhraní enTeam | ||
| + | ** '''SSL certificate''': vyberte certifikát | ||
| + | * Potvrďte kliknutím na '''OK''' | ||
Aktuální verze z 2. 9. 2025, 09:21
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:
Get-ChildItem -Path Cert:\LocalMachine\My
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
.pfxsoubor 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