Windows Server z IIS
Wdróż FoxIDs na Windows Server z Internet Information Services (IIS).
To opis sposobu wykonania domyślnego wdrożenia i pierwszego logowania.
Instalacja FoxIDs jest jak wiadro: nie ma zależności zewnętrznych i łatwo osiągnąć bardzo wysoką dostępność przy niewielkim wysiłku.
FoxIDs aktualizuje się przez pobranie pliku FoxIDs-x.x.x-win-x64.zip z nowego wydania i aktualizację plików na dwóch witrynach (bez nadpisywania appsettings.json).
Nowe wydania FoxIDs są wstecznie kompatybilne — przed aktualizacją sprawdź informacje o wydaniu.
Do uzyskania dostępu do wydań FoxIDs wymagana jest ważna licencja, gdzie możesz pobrać wymagane pliki wdrożeniowe.
Wymagania wstępne:
- Masz Windows Server (lub Windows 10/11) z Internet Information Services (IIS).
- Masz podstawową wiedzę o Windows Server i IIS.
Ten przewodnik opisuje instalację FoxIDs na pojedynczym serwerze, ale możesz rozdzielić instalację na kilka serwerów.
To wdrożenie obejmuje:
- Dwie witryny: jedną dla FoxIDs i jedną dla FoxIDs Control (Admin Client i API).
- Dwie witryny są wystawione na dwóch różnych domenach / subdomenach.
- Baza NoSQL zawierająca wszystkie dane, w tym tenantów, środowiska i użytkowników. Wdróż MongoDB Community Edition albo PostgreSQL.
- Logi FoxIDs są domyślnie zapisywane w plikach. W zależności od obciążenia rozważ użycie OpenSearch w produkcji.
Wdrożenie
Wdrożenie jest wykonywane w opisanej kolejności.
Instalacja bazy danych
Pobierz i zainstaluj MongoDB Community Edition lub pobierz i zainstaluj PostgreSQL.
MongoDB
W instalacji MongoDB z własnym zarządzaniem domyślnie wyłączona jest kontrola dostępu. Rozważ konfigurację uwierzytelniania MongoDB w zależności od instalacji.
Domyślny endpoint / connection string MongoDB: mongodb://localhost:27017
Możesz zainstalować MongoDB Compass (GUI) wraz z MongoDB Community Edition lub pobrać i zainstalować aplikację administracyjną MongoDB osobno.
PostgreSQL
PostgreSQL jest domyślnie wdrażany z użytkownikiem postgres i hasłem podanym podczas instalacji.
- Otwórz pgAdmin i utwórz bazę danych dla FoxIDs o nazwie
FoxIDs
Domyślny endpoint / connection string PostgreSQL: Host=localhost;Username=postgres;Password=xxxx;Database=FoxIDs
Dodaj dwie witryny
Włącz hosting ASP.NET Core i dodaj dwie witryny FoxIDs do IIS.
Dodaj ASP.NET Core Module (ANCM) dla IIS
- Zainstaluj .NET Core Hosting Bundle installer (direct download) aby dodać ASP.NET Core Module (ANCM) dla IIS, który jest wymagany do uruchamiania aplikacji ASP.NET Core, nawet jeśli witryny FoxIDs są self-contained.
- Zrestartuj IIS lub serwer
Dodaj witrynę FoxIDs:
Nazwa witryny
FoxIDsŚcieżka fizyczna np.
C:\inetpub\FoxIDsPowiązanie domeny
httpdla Twojej domeny np.http://id.my-domain.comZmień .NET CLR Version aplikacji na
No Managed Code
Dodaj witrynę FoxIDs Control:
- Nazwa witryny
FoxIDs.Control - Ścieżka fizyczna np.
C:\inetpub\FoxIDs.Control - Powiązanie domeny
httpdla Twojej domeny np.http://control.my-domain.com - Zmień .NET CLR Version aplikacji na
No Managed Code
Opcjonalnie dodaj dwie domeny do pliku
hostsserweraC:\Windows\System32\drivers\etc\hosts, aby umożliwić lokalne testy na serwerze:127.0.0.1 id.my-domain.com 127.0.0.1 control.my-domain.com
HTTP i HTTPS
FoxIDs obsługuje zarówno HTTP, jak i HTTPS, ale w produkcji zawsze używaj HTTPS.
Możesz pominąć ten rozdział, jeśli chcesz uruchomić FoxIDs na HTTP bez certyfikatu.
Możesz użyć własnych certyfikatów lub uzyskać certyfikat z Let's Encrypt.
Użyj własnych certyfikatów
Zainstaluj własne certyfikaty na serwerze i skonfiguruj powiązania https dla dwóch witryn.

Certyfikat utworzony przez Let's Encrypt Utwórz i dodaj certyfikat Let's Encrypt do dwóch witryn za pomocą win-acme.
Pobierz plik win-acme.v2.x.x.x64.pluggable.zip z najnowszego wydania win-acme.
- Rozpakuj i umieść folder
win-acme.v2.x.x.x.x64.pluggablew stałym miejscu, np. na dysku C. Komponent jest następnie rejestrowany do działania w Harmonogramie zadań Windows. - Uruchom wiersz poleceń jako administrator
- Przejdź do folderu
win-acme.v2.x.x.x.x64.pluggable - Uruchom
wacs.exe - Kliknij
N - Wybierz witryny
FoxIDsiFoxIDs.Control, prawdopodobnie wpisując:2,3 - Kliknij
A - Wybierz witrynę
FoxIDsjako host główny - Zaakceptuj warunki (kliknij
N, a następnieY) - Dodaj swój e-mail
Dwie witryny będą miały powiązania https z certyfikatem utworzonym przez Let's Encrypt, a certyfikat będzie automatycznie odnawiany co około 3 miesiące.
Xcopy wdrożenie FoxIDs do witryn
Pobierz plik FoxIDs-x.x.x-win-x64.zip z wydania FoxIDs i rozpakuj ZIP. Plik zip zawiera dwa foldery: jeden dla witryny FoxIDs i jeden dla witryny FoxIDs Control.
- Skopiuj (xcopy) folder FoxIDs do ścieżki fizycznej witryny, np.
C:\inetpub\FoxIDs - Skopiuj (xcopy) folder FoxIDs.Control do ścieżki fizycznej witryny, np.
C:\inetpub\FoxIDs.Control
Skonfiguruj zarówno witrynę FoxIDs, jak i FoxIDs Control w plikach appsettings.json, zlokalizowanych np. w C:\inetpub\FoxIDs\appsettings.json i C:\inetpub\FoxIDs.Control\appsettings.json
- Ustaw domenę witryny FoxIDs w FoxIDsEndpoint, np.
http://id.my-domain.comlubhttps://id.my-domain.com - Tylko w witrynie FoxIDs Control: ustaw domenę FoxIDs Control w FoxIDsControlEndpoint, np.
http://control.my-domain.comlubhttps://control.my-domain.com - Jeśli domena zaczyna się od
http://..., usuń komentarz z "UseHttp": true, - Skonfiguruj dostęp do bazy danych, albo do MongoDB
"Options": {
"Log": "Stdout",
"DataStorage": "MongoDb",
"KeyStorage": "None",
"Cache": "MongoDb",
"DataCache": "None"
},
"MongoDb": {
"ConnectionString": "mongodb://localhost:27017"
},
albo do PostgreSql z hasłem użytkownika postgres
"Options": {
"Log": "Stdout",
"DataStorage": "PostgreSql",
"KeyStorage": "None",
"Cache": "PostgreSql",
"DataCache": "None"
},
"PostgreSql": {
"ConnectionString": "Host=localhost;Username=postgres;Password=xxxxxxxx;Database=FoxIDs"
},
- Opcjonalnie skonfiguruj wysyłkę e-maili przez SMTP.
Strategia łatania i aktualizacji
Aktualizacja FoxIDs działa tak samo jak wdrożenie Xcopy, ale dodatkowa struktura ogranicza przestoje i ułatwia rollback.
- Zaplanuj okno – przejrzyj najnowsze informacje o wydaniu; FoxIDs jest wstecznie kompatybilny (o ile informacje o wydaniu nie stanowią inaczej) i zaplanuj krótkie okno serwisowe. Jeśli dwie witryny są za load balancerem, odciążaj ruch po jednym węźle naraz.
- Przygotuj binaria – pobierz najnowszy
FoxIDs-x.x.x-win-x64.zip, rozpakuj do folderów tymczasowych, np.C:\temp\FoxIDs.newiC:\temp\FoxIDs.Control.new, i skopiuj istniejąceappsettings*.jsonorazweb*.config. - Zrób snapshot instalacji – zatrzymaj dwie witryny IIS (lub ich App Pool). Skopiuj/zmień nazwę folderów produkcyjnych, np.
C:\inetpub\FoxIDs→C:\inetpub\FoxIDs.2025-11-11.bak. To samo dla Control. Zadziała też skompresowany backup lub snapshot VM, ale szybkie kopie folderów zwykle wystarczą. - Podmień aktualizację – skopiuj przygotowane foldery do docelowych ścieżek (
C:\inetpub\FoxIDsiC:\inetpub\FoxIDs.Control) i sprawdź, czy uprawnienia NTFS obejmują odpowiednie tożsamości App Pool. Uruchom App Pool/witryny, aby rozgrzać aplikacje. - Zweryfikuj i monitoruj – otwórz Control, wykonaj przebieg logowania, wykonaj szybkie sprawdzenie tenant/track i obserwuj folder logów (
C:\inetpub\logs\LogFiles\foxids) pod kątem błędów. Jeśli używasz OpenSearch, sprawdź logi i błędy w OpenSearch. - Rollback w razie potrzeby – jeśli coś nie działa, zatrzymaj witryny, zmień nazwy świeżo wdrożonych folderów na
.failed, przywróć foldery.bakdo pierwotnych nazw i uruchom IIS ponownie. Ponieważ schemat bazy danych jest wstecznie kompatybilny, poprzednie binaria uruchomią się od razu.
Powtarzaj ten proces dla każdego wydania; w konfiguracjach wieloserwerowych aktualizuj po jednym serwerze naraz, aby zachować dostępność usługi.
Pliki logów FoxIDs
Pliki logów FoxIDs są domyślnie zapisywane w folderze C:\inetpub\logs\LogFiles\foxids\. Możesz zmienić ścieżkę w web.config na obu witrynach.
Utwórz folder \foxids\ w C:\inetpub\logs\LogFiles\ i nadaj pełny dostęp dla dwóch App Pool IIS: iis apppool\foxids i iis apppool\foxids.control do folderu \foxids\.
Logi zawierają błędy, ostrzeżenia, zdarzenia i śledzenie.
OpenSearch
W zależności od obciążenia rozważ użycie OpenSearch w produkcji zamiast plików logów.
Pobierz OpenSearch lub pobierz z strony pobierania.
- Utwórz folder w stałym miejscu, np.
C:\opensearchna dysku C. OpenSearch jest następnie instalowany jako usługa Windows. - Przenieś pobrany plik
opensearch-x.x.x-windows-x64.zipdo folderuC:\temp(lub innego z krótką nazwą) i rozpakuj – nazwy plików są zbyt długie do rozpakowania w domyślnym folderze pobrań - Przenieś rozpakowane pliki do folderu
C:\opensearch - Uruchom wiersz poleceń jako administrator
- Przejdź do folderu
C:\opensearch - Ustaw hasło administratora, uruchom
set OPENSEARCH_INITIAL_ADMIN_PASSWORD=<custom-admin-password> - Uruchom usługę,
\.\opensearch-windows-install.bat - Uruchom drugi wiersz poleceń
- Przetestuj OpenSearch:
curl.exe -X GET https://localhost:9200 -u "admin:<custom-admin-password>" --insecure - Przetestuj wtyczki OpenSearch:
curl.exe -X GET https://localhost:9200/_cat/plugins?v -u "admin:<custom-admin-password>" --insecure - Wróć do okna OpenSearch i zatrzymaj OpenSearch, klikając
ctrl+c, a następniey - Ustawienia znajdują się w
C:\opensearch\config\opensearch.yml, sprawdź ustawienia. - Przejdź do folderu
C:\opensearch\binw wierszu poleceń OpenSearch - Uruchom
opensearch-service.bat install, aby zainstalować usługę Windows OpenSearch - Uruchom
opensearch-service.bat manager, aby otworzyć ustawienia usługi Windows OpenSearch - Ustaw Startup type: na
Automatici kliknij OK - Uruchom
opensearch-service.bat start, aby uruchomić usługę Windows OpenSearch
OpenSearch jest domyślnie uruchamiany z certyfikatem samopodpisanym. Możesz skonfigurować domenę i certyfikat, ale w tym przewodniku pozostawiamy certyfikat samopodpisany i konfigurujemy FoxIDs, aby go akceptował.
Skonfiguruj OpenSearch zarówno w witrynie FoxIDs, jak i w witrynie FoxIDs Control w plikach appsettings.json, zlokalizowanych np. w C:\inetpub\FoxIDs\appsettings.json i C:\inetpub\FoxIDs.Control\appsettings.json
"Options": {
"Log": "OpenSearchAndStdoutErrors",
//DB configuration...
},
"OpenSearch": {
"Nodes": [ "https://admin:xxxxxxxx@localhost:9200" ],
"LogLifetime": "Max180Days",
"AllowInsecureCertificates": true //Accept self-signed certificate
},
Bezpieczne connection strings
W produkcji zaleca sie uzywanie connection strings z haslem dla MongoDB, PostgreSQL i OpenSearch.
Nie przechowuj hasel w appsettings.json. Trzymaj wartosci niefrazliwe w appsettings.json, a secrets skonfiguruj jako environment variables w IIS dla witryn FoxIDs i FoxIDs Control. Environment variables nadpisuja wartosci z appsettings.json.
Skonfiguruj te environment variables w IIS:
MongoDb__ConnectionStringPostgreSql__ConnectionStringOpenSearch__Nodes__0(pierwszy node OpenSearch z credentials)
Ustaw tylko te zmienne, ktorych uzywasz.
Przykladowe wartosci:
MongoDb__ConnectionString=mongodb://foxids:<password>@localhost:27017
PostgreSql__ConnectionString=Host=localhost;Username=postgres;Password=<password>;Database=FoxIDs
OpenSearch__Nodes__0=https://admin:<password>@localhost:9200
Wartosci sa zapisywane w konfiguracji IIS (applicationHost.config) poza web root. Ogranicz dostep do plikow konfiguracji IIS tylko do administratorow.
Jak skonfigurowac zmienne w IIS:
- Otworz
IIS Manager. - Wybierz witryne (
FoxIDslubFoxIDs.Control). - Otworz
Configuration Editor. - Przejdz do
system.webServer/aspNetCore. - Dodaj wartosci w
environmentVariables. - Powtorz dla drugiej witryny i zrestartuj oba App Poole.
Pierwsze logowanie
Otwórz witrynę FoxIDs Control (http://control.my-domain.com lub https://control.my-domain.com) w przeglądarce.
Powinna przekierować do witryny FoxIDs, gdzie zalogujesz się domyślnym użytkownikiem admin admin@foxids.com i hasłem FirstAccess! (podczas pierwszego logowania musisz zmienić hasło).
Następnie zostaniesz przekierowany z powrotem do witryny FoxIDs Control w tenancie master. Możesz dodać więcej adminów w tenancie master.
Następnie kliknij tenant main i uwierzytelnij się ponownie tym samym domyślnym użytkownikiem admin admin@foxids.com i hasłem FirstAccess! (ponownie wymagane jest ustawienie nowego hasła).
Domyślny użytkownik admin i hasło są takie same dla tenanta
masteri tenantamain, ale to dwaj różni użytkownicy.
Jesteś teraz zalogowany w tenancie main i możesz rozpocząć konfigurację aplikacji i metod uwierzytelniania.