Windows Server med IIS

Deploy FoxIDs på Windows Server med Internet Information Services (IIS).

Detta är en beskrivning av hur du gör en standard deployment och loggar in för första gången.

En FoxIDs installation är som en bucket, det finns inga externa dependencies och det är enkelt att uppnå mycket hög upptid med liten insats. FoxIDs uppdateras genom att ladda ner FoxIDs-x.x.x-win-x64.zip filen från den nya release och sedan uppdatera filerna i de två webbplatserna (utan att skriva över appsettings.json). Nya FoxIDs releases är backwards compatible, se release notes innan du uppdaterar.

En giltig licens krävs för att få tillgång till FoxIDs releases, där du kan ladda ner de nödvändiga deploymentfilerna.

Förutsättningar:

  • Du har en Windows Server (eller Windows 10/11) med Internet Information Services (IIS).
  • Du har grundläggande kunskap om Windows Servrar och IIS.

Denna guide beskriver hur du installerar FoxIDs på en enda server men du kan dela installationen över flera servrar.

Denna deployment inkluderar:

  • Två webbplatser en för FoxIDs och en för FoxIDs Control (Admin Client och API).
  • De två webbplatserna exponeras på två olika domäner / sub-domäner.
  • NoSQL databas som innehåller all data inklusive tenants, miljöer och användare. Deploy antingen MongoDB Community Edition eller PostgreSQL.
  • FoxIDs loggar sparas som standard i filer. Beroende på belastning, överväg att använda OpenSearch i produktion.

Deployment

Deploymenten utförs i den beskrivna ordningen.

Installera databas

Ladda ner och installera MongoDB Community Edition eller ladda ner och installera PostgreSQL.

MongoDB
En self-managed MongoDB deployment installeras som standard med access control avstängt. Överväg att konfigurera MongoDB autentisering beroende på din installation.
MongoDB standard endpoint / connection string: mongodb://localhost:27017

Du kan installera MongoDB Compass (GUI) med MongoDB Community Edition eller ladda ner och installera MongoDB admin applikationen separat.

PostgreSQL
PostgreSQL deployas som standard med användaren postgres och ett lösenord du anger under installationen.

  • Öppna pgAdmin och skapa en databas för FoxIDs som heter FoxIDs

PostgreSQL standard endpoint / connection string: Host=localhost;Username=postgres;Password=xxxx;Database=FoxIDs

Lägg till två webbplatser

Aktivera ASP.NET Core hosting och lägg till de två FoxIDs webbplatserna i IIS.

Lägg till ASP.NET Core Module (ANCM) för IIS

Lägg till FoxIDs webbplats:

  • Site name FoxIDs

  • Physical path t.ex. C:\inetpub\FoxIDs

  • http domänbinding för din domän t.ex. http://id.my-domain.com

  • Sätt app service .NET CLR Version till No Managed Code

     Windows Server med IIS - lägg till FoxIDs webbplats

Och lägg till FoxIDs Control webbplats:

  • Site name FoxIDs.Control
  • Physical path t.ex. C:\inetpub\FoxIDs.Control
  • http domänbinding för din domän t.ex. http://control.my-domain.com
  • Sätt app service .NET CLR Version till No Managed Code

Lägg valfritt till de två domänerna i serverns hosts fil C:\Windows\System32\drivers\etc\hosts för att möjliggöra lokal test på servern:

   127.0.0.1     id.my-domain.com
   127.0.0.1     control.my-domain.com

HTTP och HTTPS

FoxIDs stödjer både HTTP och HTTPS, men du bör alltid använda HTTPS i produktion.

Du kan hoppa över denna sektion om du vill köra FoxDs på HTTP utan certifikat.

Du kan antingen använda dina egna certifikat eller få ett certifikat skapat av Let's encrypt.

Använd dina egna certifikat
Installera dina egna certifikat på servern och konfigurera https bindningar för de två webbplatserna.

 Windows Server med IIS - lägg till FoxIDs webbplats

Certifikat skapat av Let's encrypt
Skapa och lägg till Let's encrypt certifikat till de två webbplatserna med win-acme.

Ladda ner win-acme.v2.x.x.x64.pluggable.zip filen från den senaste win-acme release.

  1. Packa upp och placera win-acme.v2.x.x.x.x64.pluggable mappen på en permanent plats t.ex. på C disken. Komponenten registreras därefter för att köras i Windows Task Scheduler.
  2. Starta en elevated Command Prompt i administrativt läge
  3. Navigera till win-acme.v2.x.x.x.x64.pluggable mappen
  4. Kör wacs.exe
  5. Klicka N
  6. Välj webbplatserna FoxIDs och FoxIDs.Control, troligen genom att skriva: 2, 3
  7. Klicka A
  8. Välj FoxIDs webbplatsen som huvudhost
  9. Acceptera villkoren (klicka N och sedan Y)
  10. Lägg till din e-post

De två webbplatserna har nu https bindningar med certifikatet från Let's encrypt och certifikatet uppdateras automatiskt var tredje månad eller så.

Xcopy deploy FoxIDs till webbplatser

Ladda ner FoxIDs-x.x.x-win-x64.zip filen från FoxIDs release och packa upp ZIP filen. ZIP filen innehåller två mappar en för FoxIDs site och en för FoxIDs Control site.

  • Xcopy ZIP mappen FoxIDs till webbplatsens fysiska path t.ex. C:\inetpub\FoxIDs
  • Och Xcopy ZIP mappen FoxIDs.Control till webbplatsens fysiska path t.ex. C:\inetpub\FoxIDs.Control

Konfigurera både FoxIDs site och FoxIDs Control site i appsettings.json filerna, placerade i t.ex. C:\inetpub\FoxIDs\appsettings.json och C:\inetpub\FoxIDs.Control\appsettings.json

  1. Sätt FoxIDs site domän i FoxIDsEndpoint t.ex. http://id.my-domain.com eller https://id.my-domain.com
  2. Endast i FoxIDs Control site. Sätt FoxIDs Control site domän i FoxIDsControlEndpoint t.ex. http://control.my-domain.com eller https://control.my-domain.com
  3. Om domänen börjar med http://..., ta bort kommentaren för "UseHttp": true,
  4. Konfigurera databasåtkomst, antingen till MongoDB
    "Options": {
        "Log": "Stdout",
        "DataStorage": "MongoDb",
        "KeyStorage": "None",
        "Cache": "MongoDb",
        "DataCache": "None"
    },
    "MongoDb": {
        "ConnectionString": "mongodb://localhost:27017"
    },
    
    eller till PostgreSql med ditt postgres användarlösenord
    "Options": {
        "Log": "Stdout",
        "DataStorage": "PostgreSql",
        "KeyStorage": "None",
        "Cache": "PostgreSql",
        "DataCache": "None"
    },
    "PostgreSql": {
      "ConnectionString": "Host=localhost;Username=postgres;Password=xxxxxxxx;Database=FoxIDs"
    },
    
  5. Konfigurera valfritt e-post med SMTP.

Patchning och uppdateringsstrategi

Uppdatering av FoxIDs följer samma mekanik som Xcopy deployment, men lite extra struktur håller nedtiden låg och ger en enkel rollback.

  1. Planera fönstret - Granska de senaste release notes, FoxIDs är backward compatible (om inte annat anges i release notes), och planera ett kort maintenance window. Om de två sites ligger bakom en load balancer, dränera trafik en nod i taget.
  2. Staga binaries - Ladda ner senaste FoxIDs-x.x.x-win-x64.zip, packa upp till temporära mappar som C:\temp\FoxIDs.new och C:\temp\FoxIDs.Control.new, och kopiera dina befintliga appsettings*.json och web*.config.
  3. Snapshot nuvarande installation - Stoppa de två IIS sites (eller deras App Pools). Xcopy eller döp om live mapparna, t.ex. C:\inetpub\FoxIDsC:\inetpub\FoxIDs.2025-11-11.bak. Gör samma för Control site. En komprimerad backup eller VM snapshot fungerar också, men snabba mappkopior är ofta tillräckliga.
  4. Byt in uppdateringen - Xcopy de staged mapparna till live paths (C:\inetpub\FoxIDs och C:\inetpub\FoxIDs.Control) och kontrollera att ärvda NTFS rättigheter fortfarande inkluderar rätt App Pool identities. Starta App Pools/sites igen för att värma upp applikationerna.
  5. Verifiera och övervaka - Öppna Control site, genomför en login round-trip, gör en snabb tenant/track lookup och bevaka loggmappen (C:\inetpub\logs\LogFiles\foxids) efter fel. Om du använder OpenSearch, kontrollera loggar och fel i OpenSearch.
  6. Rollback vid behov - Om något beter sig fel, stoppa sites, döp om de nydeployade mapparna till .failed, återställ .bak mapparna till sina ursprungliga namn och starta IIS igen. Eftersom databasschemat är backward compatible kommer tidigare binaries att fungera direkt.

Upprepa processen för varje release; på multi-server setups patcha en server i taget för att behålla tillgänglighet.

FoxIDs loggfiler

FoxIDs loggfiler sparas som standard i C:\inetpub\logs\LogFiles\foxids\ mappen. Du kan ändra sökvägen i web.config filen i de två webbplatserna.

Skapa \foxids\ mappen i C:\inetpub\logs\LogFiles\ och ge de två IIS App Pools iis apppool\foxids och iis apppool\foxids.control full åtkomst till \foxids\ mappen.

Loggarna innehåller fel, varningar, events och trace.

OpenSearch

Beroende på belastning, överväg att använda OpenSearch i produktion istället för loggfiler.

Ladda ner OpenSearch eller ladda ner från download sidan.

  1. Skapa en mapp på en permanent plats t.ex. C:\opensearch på C disken. OpenSearch installeras därefter för att köras som en Windows Service.
  2. Flytta den nedladdade filen opensearch-x.x.x-windows-x64.zip till C:\temp mappen (eller annan mapp med kort namn) och packa upp filen - filnamnen är för långa för att packa upp i standard nedladdningsmapp
  3. Flytta de uppackade filerna till C:\opensearch mappen
  4. Starta en elevated Command Prompt i administrativt läge
  5. Navigera till C:\opensearch mappen
  6. Sätt ett administratörslösenord, kör set OPENSEARCH_INITIAL_ADMIN_PASSWORD=<custom-admin-password>
  7. Starta service, kör .\opensearch-windows-install.bat
  8. Starta en annan Command Prompt
  9. Testa OpenSearch, kör test request curl.exe -X GET https://localhost:9200 -u "admin:<custom-admin-password>" --insecure
  10. Testa OpenSearch plugins, kör test request curl.exe -X GET https://localhost:9200/_cat/plugins?v -u "admin:<custom-admin-password>" --insecure
  11. Gå tillbaka till OpenSearch Command Prompt och stoppa OpenSearch genom att trycka ctrl+c och sedan y
  12. Inställningarna finns i C:\opensearch\config\opensearch.yml, granska inställningarna.
  13. Navigera till C:\opensearch\bin mappen i OpenSearch Command Prompt
  14. Kör opensearch-service.bat install för att installera OpenSearch Windows Service
  15. Kör opensearch-service.bat manager för att öppna OpenSearch Windows Service inställningar
  16. Sätt Startup type: till Automatic och klicka OK
  17. Kör opensearch-service.bat start för att starta OpenSearch Windows Service

OpenSearch startar som standard med ett self-signed certifikat. Du kan konfigurera en domän och ett certifikat, men i denna guide behålls self-signed certifikatet och FoxIDs konfigureras att acceptera certifikatet.

Konfigurera OpenSearch i både FoxIDs site och FoxIDs Control site i appsettings.json filerna, placerade i t.ex. C:\inetpub\FoxIDs\appsettings.json och C:\inetpub\FoxIDs.Control\appsettings.json

"Options": {
    "Log": "OpenSearchAndStdoutErrors",
    //DB konfiguration...
},
"OpenSearch": {
    "Nodes": [ "https://admin:xxxxxxxx@localhost:9200" ],
    "LogLifetime": "Max180Days", 
    "AllowInsecureCertificates": true //Acceptera self-signed certifikat
},

Säkra connection strings

I produktion rekommenderas att använda connection strings med lösenord för MongoDB, PostgreSQL och OpenSearch.

Spara inte lösenord i appsettings.json. Behåll icke-känsliga värden i appsettings.json och konfigurera secrets som environment variables i IIS för både FoxIDs site och FoxIDs Control site. Environment variables skriver över värden i appsettings.json.

Konfigurera dessa environment variables i IIS:

  • MongoDb__ConnectionString
  • PostgreSql__ConnectionString
  • OpenSearch__Nodes__0 (första OpenSearch node inklusive credentials)

Sätt bara de variabler du använder.

Exempelvärden:

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

Värdena lagras i IIS konfigurationen (applicationHost.config) utanför web root. Begränsa åtkomst till IIS konfigurationsfiler till endast administratörer.

Så här konfigurerar du variablerna i IIS:

  1. Öppna IIS Manager.
  2. Välj siten (FoxIDs eller FoxIDs.Control).
  3. Öppna Configuration Editor.
  4. Gå till system.webServer/aspNetCore.
  5. Lägg till värden under environmentVariables.
  6. Upprepa för den andra siten och starta om båda App Pools.

Första login

Öppna din FoxIDs Control site (http://control.my-domain.com eller https://control.my-domain.com) i en browser. Den ska omdirigera till FoxIDs site där du loggar in med standard admin användaren admin@foxids.com och lösenordet FirstAccess! (du måste byta lösenord vid första login).
Du omdirigeras sedan tillbaka till FoxIDs Control site i master tenant. Du kan lägga till fler admin användare i master tenant.

Klicka sedan på main tenant och autentisera igen med samma standard admin användare admin@foxids.com och lösenordet FirstAccess! (igen, du måste byta lösenord).

Standard admin användare och lösenord är samma för både master tenant och main tenant, men det är två olika användare.

Du är nu inloggad på main tenant och kan börja konfigurera dina applikationer och autentiseringsmetoder.

Din integritet

Vi använder cookies för att göra din upplevelse av våra webbplatser bättre. Klicka på 'Acceptera alla cookies' för att godkänna användningen av cookies. För att avstå från icke-nödvändiga cookies, klicka på 'Endast nödvändiga cookies'.

Besök vår integritetspolicy för mer