IR
irwinrodriguez.dev
Zuruck zur Dokumentation

Konfiguration

Die FoxServer-Konfiguration wird in JSON-Dateien pro Projekt gespeichert. WinFx kann diese visuell generieren und bearbeiten; Sie konnen sie auch direkt bearbeiten.

Speicherort der Konfigurationsdatei

Jedes Projekt hat seine eigene Datei unter:

C:\Program Files\FoxServer\config\servers\{projectname}.json

Vollstandiges Beispiel

{
  "name": "salesapi",
  "description": "Sales management REST API",
  "type": "api",
  "active": true,
  "host": "0.0.0.0",
  "port": 8080,
  "prefix": "/api/v1",
  "issecure": false,
  "dllpath": "C:\\projects\\salesapi\\build\\Interop.salesapi.dll",
  "allowedorigins": "https://myapp.com",
  "allowedmethods": "GET,POST,PUT,DELETE,OPTIONS",
  "allowedheaders": "Content-Type,Authorization",
  "middleware": {
    "auth": {
      "enabled": true,
      "type": "jwt",
      "secret": "your-256-bit-secret-base64",
      "tokenexpirationseconds": 3600,
      "loginendpoint": "auth/login"
    },
    "logging": {
      "enabled": true,
      "path": "C:\\logs\\salesapi\\",
      "fileprefix": "salesapi",
      "format": "Detailed",
      "options": {
        "requests": true,
        "responses": true,
        "errors": true,
        "debug": false,
        "performance": true
      }
    }
  }
}

Server-Eigenschaften

EigenschaftTypStandardBeschreibung
name String Eindeutiger Projekt-/Server-Bezeichner
description String "" Fur Menschen lesbare Beschreibung
type String api "api" fur REST-APIs, "web" fur statische Dateien
active Boolean false Ob der Server beim FoxServer-Start geladen wird
host String 127.0.0.1 Bindungsadresse. 0.0.0.0 akzeptiert alle Schnittstellen
port Number 8080 HTTP-Lauschport
prefix String "" URL-Pfad-Prafix (z.B. "/api/v1")
issecure Boolean false HTTPS/SSL aktivieren
dllpath String Pfad zur kompilierten Interop-DLL-Datei (erforderlich)
publicdir String "" Verzeichnis fur statische Dateien (nur type: web)

CORS

Erlaubte Ursprunge, Methoden und Header fur domainubergreifende Anfragen konfigurieren:

{
  "allowedorigins": "https://app.example.com,https://admin.example.com",
  "allowedmethods": "GET,POST,PUT,DELETE,OPTIONS",
  "allowedheaders": "Content-Type,Authorization,X-Requested-With"
}
EigenschaftTypStandardwertBeschreibung
allowedoriginsString*Erlaubte Domains kommagetrennt, oder "*" fur beliebige
allowedmethodsStringGET,POST,PUT,DELETE,OPTIONSVom Browser erlaubte HTTP-Methoden
allowedheadersStringContent-Type,AuthorizationHeader, die der Client senden darf
Geben Sie in der Produktion immer genaue Domains statt "*" an fur mehr Sicherheit.

HTTPS / SSL

Um HTTPS zu aktivieren, benotigen Sie ein Zertifikat im .pfx- oder .p12-Format:

{
  "issecure": true,
  "certificatename": "mycert.pfx",
  "certificatepassword": "your-cert-password"
}
Fugen Sie Zertifikatskennworter niemals in die Versionskontrolle ein. Verwenden Sie Umgebungsvariablen oder einen Secret-Manager.

Protokollierung

Das Server-Protokollierungssystem konfigurieren:

EigenschaftTypStandardBeschreibung
enabledBooleanfalseProtokollierung aktivieren / deaktivieren
pathStringVerzeichnis fur Protokolldateien (muss existieren)
fileprefixStringfoxserverDateinamenprafix. Ergebnis: "{prefix}_2026-04-11.log"
formatStringSimple"Simple" (eine Zeile), "Detailed" (volle Info), "JSON"
options.requestsBooleantrueEingehende Anfragen protokollieren
options.responsesBooleantrueAusgehende Antworten protokollieren
options.errorsBooleantrueFehler protokollieren
options.debugBooleanfalseDebug-Nachrichten protokollieren (ausfuhrlicher)
options.performanceBooleanfalseAntwortzeiten pro Endpunkt protokollieren

Weiter: Routing →