Windows Server mit IIS
Stellen Sie FoxIDs auf Windows Server mit Internet Information Services (IIS) bereit.
Dies ist eine Beschreibung, wie Sie eine Standard Bereitstellung durchführen und sich erstmals anmelden.
Eine FoxIDs Installation ist wie ein Eimer, es gibt keine externen Abhängigkeiten und es ist einfach, mit wenig Aufwand eine sehr hohe Verfügbarkeit zu erreichen.
FoxIDs werden aktualisiert, indem die Datei FoxIDs-x.x.x-win-x64.zip aus dem neuen release heruntergeladen und anschließend die Dateien in den beiden Websites aktualisiert werden (ohne appsettings.json zu überschreiben).
Neue FoxIDs Releases sind abwärtskompatibel, konsultieren Sie die release notes vor dem Update.
Für den Zugriff auf die FoxIDs Releases ist eine gültige Lizenz erforderlich, über die Sie die erforderlichen Deployment Dateien herunterladen können.
Voraussetzungen:
- Sie haben einen Windows Server (oder Windows 10/11) mit Internet Information Services (IIS).
- Grundkenntnisse in Windows Server und IIS.
Diese Anleitung beschreibt, wie FoxIDs auf einem einzelnen Server installiert wird, aber Sie können die Installation auf mehrere Server verteilen.
Diese Bereitstellung umfasst:
- Zwei Websites, eine für FoxIDs und eine für FoxIDs Control (Admin Client und API).
- Die beiden Websites werden auf zwei unterschiedlichen Domains / Subdomains bereitgestellt.
- NoSQL Datenbank, die alle Daten einschließlich Tenants, Umgebungen und Benutzer enthält. Stellen Sie entweder MongoDB Community Edition oder PostgreSQL bereit.
- FoxIDs Logs werden standardmäßig in Dateien gespeichert. Abhängig von der Last, erwägen Sie die Nutzung von OpenSearch in Produktion.
Bereitstellung
Die Bereitstellung erfolgt in der beschriebenen Reihenfolge.
Datenbank installieren
Laden Sie MongoDB Community Edition herunter und installieren Sie sie oder laden Sie PostgreSQL herunter und installieren Sie es.
MongoDB
Eine selbstverwaltete MongoDB Bereitstellung wird standardmäßig mit deaktivierter Zugriffskontrolle installiert. Erwägen Sie, die MongoDB Authentifizierung zu konfigurieren je nach Installation.
MongoDB Standard Endpunkt / connection string: mongodb://localhost:27017
Sie können MongoDB Compass (GUI) mit MongoDB Community Edition installieren oder separat herunterladen und die MongoDB Admin Anwendung installieren.
PostgreSQL
PostgreSQL wird standardmäßig mit dem Benutzer postgres und einem Passwort installiert, das Sie während der Installation angeben.
- Öffnen Sie pgAdmin und erstellen Sie eine Datenbank für FoxIDs mit dem Namen
FoxIDs
PostgreSQL Standard Endpunkt / connection string: Host=localhost;Username=postgres;Password=xxxx;Database=FoxIDs
Zwei Websites hinzufügen
Aktivieren Sie ASP.NET Core Hosting und fügen Sie die zwei FoxIDs Websites zu IIS hinzu.
ASP.NET Core Module (ANCM) für IIS hinzufügen
- Installieren Sie das .NET Core Hosting Bundle installer (direkter Download) um das ASP.NET Core Module (ANCM) für IIS hinzuzufügen, das erforderlich ist, um ASP.NET Core Anwendungen auszuführen, auch wenn die FoxIDs Websites self-contained sind.
- IIS oder den Server neu starten
FoxIDs Website hinzufügen:
Site name
FoxIDsPhysical path z. B.
C:\inetpub\FoxIDshttpDomain binding für Ihre Domain z. B.http://id.my-domain.comÄndern Sie die App Service .NET CLR Version auf
No Managed Code
Und FoxIDs Control Website hinzufügen:
- Site name
FoxIDs.Control - Physical path z. B.
C:\inetpub\FoxIDs.Control httpDomain binding für Ihre Domain z. B.http://control.my-domain.com- Ändern Sie die App Service .NET CLR Version auf
No Managed Code
Optional fügen Sie die zwei Domains zur
hostsDatei des ServersC:\Windows\System32\drivers\etc\hostshinzu, um lokale Tests auf dem Server zu ermöglichen:127.0.0.1 id.my-domain.com 127.0.0.1 control.my-domain.com
HTTP und HTTPS
FoxIDs unterstützt sowohl HTTP als auch HTTPS, aber Sie sollten in Produktion immer HTTPS verwenden.
Sie können diesen Abschnitt überspringen, wenn Sie FoxIDs ohne Zertifikat über HTTP betreiben möchten.
Sie können entweder eigene Zertifikate verwenden oder ein Zertifikat von Let's encrypt erstellen lassen.
Eigene Zertifikate verwenden
Installieren Sie Ihre eigenen Zertifikate auf dem Server und konfigurieren Sie https bindings für die beiden Websites.

Zertifikat von Let's encrypt
Erstellen Sie ein Let's encrypt Zertifikat für die beiden Websites mit win-acme.
Laden Sie die Datei win-acme.v2.x.x.x64.pluggable.zip aus dem neuesten win-acme release herunter.
- Entpacken Sie die Datei und platzieren Sie den Ordner
win-acme.v2.x.x.x.x64.pluggablean einem dauerhaften Ort, z. B. auf Laufwerk C. Die Komponente wird anschließend so registriert, dass sie im Windows Task Scheduler ausgeführt wird. - Starten Sie eine Eingabeaufforderung mit Administratorrechten
- Navigieren Sie zum Ordner
win-acme.v2.x.x.x.x64.pluggable - Führen Sie
wacs.exeaus - Klicken Sie
N - Wählen Sie die Websites
FoxIDsundFoxIDs.Control, vermutlich durch Eingabe:2,3 - Klicken Sie
A - Wählen Sie die
FoxIDsSite als Haupt Host - Stimmen Sie den Bedingungen zu (klicken Sie
Nund dannY) - Fügen Sie Ihre E Mail hinzu
Die beiden Websites haben nun https bindings mit dem von Let's encrypt erstellten Zertifikat, und das Zertifikat wird etwa alle 3 Monate automatisch erneuert.
Xcopy FoxIDs in Websites bereitstellen
Laden Sie die Datei FoxIDs-x.x.x-win-x64.zip aus dem FoxIDs release herunter und entpacken Sie die ZIP Datei. Die ZIP Datei enthält zwei Ordner, einen für die FoxIDs Site und einen für die FoxIDs Control Site.
- Xcopy den Ordner FoxIDs aus der ZIP Datei in den physischen Pfad der Website, z. B.
C:\inetpub\FoxIDs - Und Xcopy den Ordner FoxIDs.Control aus der ZIP Datei in den physischen Pfad der Website, z. B.
C:\inetpub\FoxIDs.Control
Konfigurieren Sie sowohl die FoxIDs Site als auch die FoxIDs Control Site in den appsettings.json Dateien, die sich z. B. in C:\inetpub\FoxIDs\appsettings.json und C:\inetpub\FoxIDs.Control\appsettings.json befinden
- Setzen Sie die FoxIDs Site Domain in FoxIDsEndpoint, z. B.
http://id.my-domain.comoderhttps://id.my-domain.com - Nur in der FoxIDs Control Site. Setzen Sie die FoxIDs Control Site Domain in FoxIDsControlEndpoint, z. B.
http://control.my-domain.comoderhttps://control.my-domain.com - Wenn die Domain mit
http://...beginnt, entfernen Sie die Auskommentierung von"UseHttp": true, - Konfigurieren Sie den Datenbankzugriff, entweder auf MongoDB
oder auf PostgreSql mit Ihrem"Options": { "Log": "Stdout", "DataStorage": "MongoDb", "KeyStorage": "None", "Cache": "MongoDb", "DataCache": "None" }, "MongoDb": { "ConnectionString": "mongodb://localhost:27017" },postgresBenutzer Passwort"Options": { "Log": "Stdout", "DataStorage": "PostgreSql", "KeyStorage": "None", "Cache": "PostgreSql", "DataCache": "None" }, "PostgreSql": { "ConnectionString": "Host=localhost;Username=postgres;Password=xxxxxxxx;Database=FoxIDs" }, - Optional konfigurieren Sie den Versand von E Mails per SMTP.
Patching und Update Strategie
Die Aktualisierung von FoxIDs folgt der gleichen Mechanik wie die Xcopy Bereitstellung, aber etwas zusätzliche Struktur hält die Ausfallzeit niedrig und bietet eine einfache Rollback Möglichkeit.
- Zeitfenster planen - Prüfen Sie die neuesten release notes. FoxIDs ist abwärtskompatibel (sofern nicht anders in den release notes angegeben), und planen Sie ein kurzes Wartungsfenster. Wenn die beiden Sites hinter einem Load Balancer liegen, leiten Sie den Traffic jeweils nur von einem Knoten ab.
- Binaries vorbereiten - Laden Sie die neueste
FoxIDs-x.x.x-win-x64.zipherunter, entpacken Sie sie in temporäre Ordner wieC:\temp\FoxIDs.newundC:\temp\FoxIDs.Control.newund kopieren Sie Ihre bestehendenappsettings*.jsonundweb*.config. - Aktuellen Installationsstand sichern - Stoppen Sie die beiden IIS Sites (oder deren App Pools). Xcopy oder benennen Sie die Live Ordner um, z. B.
C:\inetpub\FoxIDs→C:\inetpub\FoxIDs.2025-11-11.bak. Machen Sie dasselbe für die Control Site. Ein komprimiertes Backup oder VM Snapshot funktioniert ebenfalls, aber schnelle Ordnerkopien sind oft ausreichend. - Update einspielen - Xcopy die vorbereiteten Ordner in die Live Pfade (
C:\inetpub\FoxIDsundC:\inetpub\FoxIDs.Control) und prüfen Sie, dass die geerbten NTFS Berechtigungen weiterhin die passenden App Pool Identitäten enthalten. Starten Sie die App Pools/Sites wieder, um die Anwendungen aufzuwärmen. - Verifizieren und überwachen - Öffnen Sie die Control Site, führen Sie einen Login Round trip durch, prüfen Sie einen schnellen Tenant/Track Lookup und beobachten Sie den Log Ordner (
C:\inetpub\logs\LogFiles\foxids) auf Fehler. Wenn Sie OpenSearch verwenden, prüfen Sie Logs und Fehler in OpenSearch. - Rollback bei Bedarf - Wenn etwas nicht stimmt, stoppen Sie die Sites, benennen Sie die frisch bereitgestellten Ordner in
.failedum, stellen Sie die.bakOrdner unter den ursprünglichen Namen wieder her und starten Sie IIS erneut. Da das Datenbankschema abwärtskompatibel ist, funktionieren die vorherigen Binaries sofort.
Wiederholen Sie den Prozess für jedes Release; in Multi Server Setups patchen Sie jeweils einen Server, um die Verfügbarkeit zu erhalten.
FoxIDs Log Dateien
FoxIDs Log Dateien werden standardmäßig im Ordner C:\inetpub\logs\LogFiles\foxids\ gespeichert. Sie können den Pfad in der Datei web.config in den beiden Websites ändern.
Erstellen Sie den Ordner \foxids\ in C:\inetpub\logs\LogFiles\ und geben Sie den beiden IIS App Pools iis apppool\foxids und iis apppool\foxids.control Vollzugriff auf den Ordner \foxids\.
Die Logs enthalten Fehler, Warnungen, Events und Trace.
OpenSearch
Abhängig von der Last sollten Sie OpenSearch in Produktion anstelle von Log Dateien in Betracht ziehen.
Laden Sie OpenSearch herunter oder laden Sie es von der download page.
- Erstellen Sie einen Ordner an einem dauerhaften Ort, z. B.
C:\opensearchauf Laufwerk C. OpenSearch wird anschließend so installiert, dass es als Windows Service läuft. - Verschieben Sie die heruntergeladene Datei
opensearch-x.x.x-windows-x64.zipin den OrdnerC:\temp(oder einen anderen Ordner mit kurzem Namen) und entpacken Sie die Datei - die Dateinamen sind zu lang, um im Standard Download Ordner zu entpacken - Verschieben Sie die entpackten Dateien in den Ordner
C:\opensearch - Starten Sie eine Eingabeaufforderung mit Administratorrechten
- Navigieren Sie zum Ordner
C:\opensearch - Setzen Sie ein Administratorpasswort, führen Sie
set OPENSEARCH_INITIAL_ADMIN_PASSWORD=<custom-admin-password>aus - Starten Sie den Service, führen Sie
\.\opensearch-windows-install.bataus - Starten Sie eine weitere Eingabeaufforderung
- Testen Sie OpenSearch, führen Sie die Testanfrage
curl.exe -X GET https://localhost:9200 -u "admin:<custom-admin-password>" --insecureaus - Testen Sie die OpenSearch Plugins, führen Sie die Testanfrage
curl.exe -X GET https://localhost:9200/_cat/plugins?v -u "admin:<custom-admin-password>" --insecureaus - Gehen Sie zurück zur OpenSearch Eingabeaufforderung und stoppen Sie OpenSearch mit
ctrl+cund anschließendy - Die Einstellungen finden Sie in
C:\opensearch\config\opensearch.yml, bitte prüfen Sie die Einstellungen. - Navigieren Sie zum Ordner
C:\opensearch\binin der OpenSearch Eingabeaufforderung - Führen Sie
opensearch-service.bat installaus, um den OpenSearch Windows Service zu installieren - Führen Sie
opensearch-service.bat manageraus, um die OpenSearch Windows Service Einstellungen zu öffnen - Setzen Sie Startup type: auf
Automaticund klicken Sie OK - Führen Sie
opensearch-service.bat startaus, um den OpenSearch Windows Service zu starten
OpenSearch wird standardmäßig mit einem selbstsignierten Zertifikat gestartet. Sie können eine Domain und ein Zertifikat konfigurieren, aber in dieser Anleitung bleibt das selbstsignierte Zertifikat bestehen und FoxIDs wird so konfiguriert, dass es das Zertifikat akzeptiert.
Konfigurieren Sie OpenSearch sowohl in der FoxIDs Site als auch in der FoxIDs Control Site in den appsettings.json Dateien, die sich z. B. in C:\inetpub\FoxIDs\appsettings.json und C:\inetpub\FoxIDs.Control\appsettings.json befinden
"Options": {
"Log": "OpenSearchAndStdoutErrors",
//DB configuration...
},
"OpenSearch": {
"Nodes": [ "https://admin:xxxxxxxx@localhost:9200" ],
"LogLifetime": "Max180Days",
"AllowInsecureCertificates": true //Accept self-signed certificate
},
Sichere connection strings
In Produktion wird empfohlen, connection strings mit Passwörtern für MongoDB, PostgreSQL und OpenSearch zu verwenden.
Speichern Sie Passwörter nicht in appsettings.json. Belassen Sie nicht-sensitive Werte in appsettings.json und konfigurieren Sie Secrets als environment variables in IIS für die FoxIDs und FoxIDs Control Sites. Environment variables überschreiben Werte aus appsettings.json.
Konfigurieren Sie diese environment variables in IIS:
MongoDb__ConnectionStringPostgreSql__ConnectionStringOpenSearch__Nodes__0(erster OpenSearch Node inklusive Credentials)
Setzen Sie nur die Variablen, die Sie verwenden.
Beispielwerte:
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
Die Werte werden in der IIS Konfiguration (applicationHost.config) außerhalb des Web-Roots gespeichert. Beschränken Sie den Zugriff auf IIS Konfigurationsdateien auf Administratoren.
So konfigurieren Sie die Variablen in IIS:
- Öffnen Sie den
IIS Manager. - Wählen Sie die Site (
FoxIDsoderFoxIDs.Control). - Öffnen Sie den
Configuration Editor. - Wechseln Sie zu
system.webServer/aspNetCore. - Fügen Sie Werte unter
environmentVariableshinzu. - Wiederholen Sie dies für die zweite Site und starten Sie beide App Pools neu.
Erster Login
Öffnen Sie Ihre FoxIDs Control Site (http://control.my-domain.com oder https://control.my-domain.com) in einem Browser.
Sie sollte zur FoxIDs Site weiterleiten, wo Sie sich mit dem Standard Admin Benutzer admin@foxids.com und dem Passwort FirstAccess! anmelden (Sie müssen das Passwort beim ersten Login ändern).
Sie werden dann zurück zur FoxIDs Control Site im master Tenant weitergeleitet. Sie können weitere Admin Benutzer im Master Tenant hinzufügen.
Klicken Sie anschließend auf den main Tenant und authentifizieren Sie sich erneut mit demselben Standard Admin Benutzer admin@foxids.com und dem Passwort FirstAccess! (auch hier müssen Sie das Passwort ändern).
Standard Admin Benutzer und Passwort sind für
masterTenant undmainTenant gleich, es handelt sich jedoch um zwei unterschiedliche Benutzer.
Sie sind jetzt im main Tenant angemeldet und können mit der Konfiguration Ihrer Anwendungen und Authentifizierungsmethoden beginnen.