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
| Eigenschaft | Typ | Standard | Beschreibung |
|---|---|---|---|
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"
} | Eigenschaft | Typ | Standardwert | Beschreibung |
|---|---|---|---|
allowedorigins | String | * | Erlaubte Domains kommagetrennt, oder "*" fur beliebige |
allowedmethods | String | GET,POST,PUT,DELETE,OPTIONS | Vom Browser erlaubte HTTP-Methoden |
allowedheaders | String | Content-Type,Authorization | Header, 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:
| Eigenschaft | Typ | Standard | Beschreibung |
|---|---|---|---|
enabled | Boolean | false | Protokollierung aktivieren / deaktivieren |
path | String | — | Verzeichnis fur Protokolldateien (muss existieren) |
fileprefix | String | foxserver | Dateinamenprafix. Ergebnis: "{prefix}_2026-04-11.log" |
format | String | Simple | "Simple" (eine Zeile), "Detailed" (volle Info), "JSON" |
options.requests | Boolean | true | Eingehende Anfragen protokollieren |
options.responses | Boolean | true | Ausgehende Antworten protokollieren |
options.errors | Boolean | true | Fehler protokollieren |
options.debug | Boolean | false | Debug-Nachrichten protokollieren (ausfuhrlicher) |
options.performance | Boolean | false | Antwortzeiten pro Endpunkt protokollieren |
Weiter: Routing →