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

Dodaj witrynę FoxIDs:

  • Nazwa witryny FoxIDs

  • Ścieżka fizyczna np. C:\inetpub\FoxIDs

  • Powiązanie domeny http dla Twojej domeny np. http://id.my-domain.com

  • Zmień .NET CLR Version aplikacji na No Managed Code

     Windows Server with IIS - add the FoxIDs website

Dodaj witrynę FoxIDs Control:

  • Nazwa witryny FoxIDs.Control
  • Ścieżka fizyczna np. C:\inetpub\FoxIDs.Control
  • Powiązanie domeny http dla Twojej domeny np. http://control.my-domain.com
  • Zmień .NET CLR Version aplikacji na No Managed Code

Opcjonalnie dodaj dwie domeny do pliku hosts serwera C:\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.

 Windows Server with IIS - add the FoxIDs website

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.

  1. Rozpakuj i umieść folder win-acme.v2.x.x.x.x64.pluggable w stałym miejscu, np. na dysku C. Komponent jest następnie rejestrowany do działania w Harmonogramie zadań Windows.
  2. Uruchom wiersz poleceń jako administrator
  3. Przejdź do folderu win-acme.v2.x.x.x.x64.pluggable
  4. Uruchom wacs.exe
  5. Kliknij N
  6. Wybierz witryny FoxIDs i FoxIDs.Control, prawdopodobnie wpisując: 2, 3
  7. Kliknij A
  8. Wybierz witrynę FoxIDs jako host główny
  9. Zaakceptuj warunki (kliknij N, a następnie Y)
  10. 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

  1. Ustaw domenę witryny FoxIDs w FoxIDsEndpoint, np. http://id.my-domain.com lub https://id.my-domain.com
  2. Tylko w witrynie FoxIDs Control: ustaw domenę FoxIDs Control w FoxIDsControlEndpoint, np. http://control.my-domain.com lub https://control.my-domain.com
  3. Jeśli domena zaczyna się od http://..., usuń komentarz z "UseHttp": true,
  4. 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"
},
  1. 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.

  1. 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.
  2. Przygotuj binaria – pobierz najnowszy FoxIDs-x.x.x-win-x64.zip, rozpakuj do folderów tymczasowych, np. C:\temp\FoxIDs.new i C:\temp\FoxIDs.Control.new, i skopiuj istniejące appsettings*.json oraz web*.config.
  3. Zrób snapshot instalacji – zatrzymaj dwie witryny IIS (lub ich App Pool). Skopiuj/zmień nazwę folderów produkcyjnych, np. C:\inetpub\FoxIDsC:\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ą.
  4. Podmień aktualizację – skopiuj przygotowane foldery do docelowych ścieżek (C:\inetpub\FoxIDs i C:\inetpub\FoxIDs.Control) i sprawdź, czy uprawnienia NTFS obejmują odpowiednie tożsamości App Pool. Uruchom App Pool/witryny, aby rozgrzać aplikacje.
  5. 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.
  6. Rollback w razie potrzeby – jeśli coś nie działa, zatrzymaj witryny, zmień nazwy świeżo wdrożonych folderów na .failed, przywróć foldery .bak do 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.

  1. Utwórz folder w stałym miejscu, np. C:\opensearch na dysku C. OpenSearch jest następnie instalowany jako usługa Windows.
  2. Przenieś pobrany plik opensearch-x.x.x-windows-x64.zip do folderu C:\temp (lub innego z krótką nazwą) i rozpakuj – nazwy plików są zbyt długie do rozpakowania w domyślnym folderze pobrań
  3. Przenieś rozpakowane pliki do folderu C:\opensearch
  4. Uruchom wiersz poleceń jako administrator
  5. Przejdź do folderu C:\opensearch
  6. Ustaw hasło administratora, uruchom set OPENSEARCH_INITIAL_ADMIN_PASSWORD=<custom-admin-password>
  7. Uruchom usługę, \.\opensearch-windows-install.bat
  8. Uruchom drugi wiersz poleceń
  9. Przetestuj OpenSearch: curl.exe -X GET https://localhost:9200 -u "admin:<custom-admin-password>" --insecure
  10. Przetestuj wtyczki OpenSearch: curl.exe -X GET https://localhost:9200/_cat/plugins?v -u "admin:<custom-admin-password>" --insecure
  11. Wróć do okna OpenSearch i zatrzymaj OpenSearch, klikając ctrl+c, a następnie y
  12. Ustawienia znajdują się w C:\opensearch\config\opensearch.yml, sprawdź ustawienia.
  13. Przejdź do folderu C:\opensearch\bin w wierszu poleceń OpenSearch
  14. Uruchom opensearch-service.bat install, aby zainstalować usługę Windows OpenSearch
  15. Uruchom opensearch-service.bat manager, aby otworzyć ustawienia usługi Windows OpenSearch
  16. Ustaw Startup type: na Automatic i kliknij OK
  17. 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__ConnectionString
  • PostgreSql__ConnectionString
  • OpenSearch__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:

  1. Otworz IIS Manager.
  2. Wybierz witryne (FoxIDs lub FoxIDs.Control).
  3. Otworz Configuration Editor.
  4. Przejdz do system.webServer/aspNetCore.
  5. Dodaj wartosci w environmentVariables.
  6. 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 master i tenanta main, ale to dwaj różni użytkownicy.

Jesteś teraz zalogowany w tenancie main i możesz rozpocząć konfigurację aplikacji i metod uwierzytelniania.

Twoja prywatność

Używamy plików cookie, aby poprawić korzystanie z naszych stron internetowych. Kliknij przycisk „Akceptuj wszystkie pliki cookie”, aby wyrazić zgodę na ich użycie. Aby zrezygnować z nieistotnych plików cookie, kliknij „Tylko niezbędne pliki cookie”.

Odwiedź naszą politykę prywatności, aby dowiedzieć się więcej