Manuelles Bearbeiten der Konfiguration der RAD Server Engine

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Einrichten der RAD Server Engine


Die RAD Server Engine ist nach der ersten Konfiguration Ihrer RAD Server-Umgebung mit Standardparametern konfiguriert.

Sie können Ihre Konfiguration der RAD Server Engine ändern, indem Sie die Datei EMSServer.ini in C:\Benutzer\Öffentlich\Öffentliche Dokumente\Embarcadero\EMS bearbeiten. Wenn Sie diese Datei ändern, müssen Sie die RAD Server Engine (EMS-Server) beenden und neu starten, um die Datei emsserver.ini neu zu laden.

Konfiguration der RAD Server-Datenbank

Sie können die Standardinformationen der RAD Server-Datenbank ändern, die die RAD Server Engine verwendet. Suchen Sie in der Datei EMSServer.ini den Abschnitt [Data]:

  • InstanceName. Gibt die InterBase-Instanz an, die die RAD Server-Datenbank hostet.
  • Database. RAD Server-Datenbankdatei im lokalen Verzeichnis.
  • UserName. Benutzername für den Zugriff auf die RAD Server-Datenbank.
  • Password. Passwort für den Zugriff auf die RAD Server-Datenbank.
  • SEPassword. Passwort für die Verbindung mit einer verschlüsselten InterBase-Datenbank.
  • Pooled. Aktiviert das FireDAC-Verbindungs-Pooling für die RAD Server-Datenbank zur Reduzierung der Latenz.
  • PooledMax. Maximal zulässige Anzahl der in den Pool gestellten Verbindungen zur RAD Server-Datenbank.
  • SessionTimeout. Die maximale Zeit der Inaktivität einer Sitzung in Sekunden.
  • ClientLib. Optionaler Pfad zur FireDAC-Datei FDConnectionDef.ini.
  • DriverFile. Optionaler Pfad zur FireDAC-Datei FDDrivers.ini.
[Data]
; Interbase connection parameters
InstanceName=EMS
Database=C:\Users\Public\Documents\Embarcadero\EMS\emsserver.ib
UserName=sysdba
Password=masterkey
SEPassword=
;# SEPassword connects to an encrypted database
Pooled=
;# Set Pooled=0 to disable connection pooled, Pooled=1 to enable. Default value is 1.
PooledMax=
;# Set PooledMax=10 to limit maximum pooled connection.  Default value is 50.
SessionTimeout=
;# Set SessionTimeout=60 to limit the maximum time of session inactivity in seconds.
;# This operates on a session token.  Default is 0 (no timeout).

Protokollierung für RAD Server

Sie können die Protokollierung für RAD Server festlegen.

[Server.Logging]
;# The following options control EMS server log output
;#
;# Set log output file name. If blank, then log output will be disabled. Default is blank.
; FileName=c:\temp\emsserver_log.json
;# Set Append=1 to append log output to existing log file. Otherwise log file will be 
;# rewritten on each EMS server or console run.  Default is 1.
Append=1
; Set log output prefixes. Where T-thread #, D-date/time, I-IP address of a client,
; C-number of log item. The order of items is controlled by this parameter. Default is TD.
; Prefixes=CDI
; Set log date/time output format. If blank, then it is C (current date and time formats).
; TimeFormat=hh:nn:ss.zzz
[Console.Logging]
;# The following options control EMS console log output
;#
;# Set log output file name. If blank, then log output will be disabled. Default is blank.
; FileName=c:\temp\emsconsole_log.json
;# Set Append=1 to append log output to existing log file. Otherwise log file will be 
;# rewritten on each EMS console run.  Default is 1.
Append=1
; Set log output prefixes. Where T-thread #, D-date/time, I-IP address of a client,
; C-number of log item. The order of items is controlled by this parameter. Default is TD.
; Prefixes=CDI
; Set log date/time output format. If blank, then it is C (current date and time formats).
; TimeFormat=hh:nn:ss.zzz

Beschränkungen der RAD Server Engine

Sie können die Standardinformationen zur Anzahl der gleichzeitigen Verbindungen zur RAD Server-Datenbank oder zur maximalen Anzahl der RAD Server-Benutzer ändern. Suchen Sie in der Datei EMSServer.ini den Abschnitt [Server.Limits]:

  • MaxConnections. Maximale Anzahl gleichzeitiger HTTP-Anforderungen an die RAD Server Engine.
  • MaxUsers. Maximale Anzahl der für die RAD Server-Datenbank zulässigen RAD Server-Benutzer. Dieser Wert hängt von der verwendeten RAD Server-Lizenz ab.
  • SessionInactivityTimeout. Die maximale Zeit in Sekunden, die eine Benutzersitzung inaktiv sein kann, bevor die Sitzung abläuft und geschlossen wird. Dies erfolgt mithilfe eines Sitzungs-Tokens. Vorgabe ist 0 (kein Zeitlimit).
  • SessionLiveTimeout. Die maximale Zeit in Sekunden, die eine Benutzersitzung vorhanden sein kann, bevor die Sitzung abläuft und geschlossen wird. Dies erfolgt mithilfe eines Sitzungs-Tokens. Vorgabe ist 0 (kein Zeitlimit).
[Server.Limits]
MaxConnections=
;# Set MaxConnections=10 to limit maximum concurrent HTTP requests. Default is 32.
MaxUsers=
;# Set MaxUsers=3 to limit the number of users in the EMS database.  This value is only used 
;# when less than the maximum users permitted by the EMS runtime license.
SessionInactivityTimeout=
;# Set SessionInactivityTimeout=60 to limit maximum time of a session inactivity in seconds.
;# This operates on a session token.  Default is 0 (no timeout).
SessionLiveTimeout=
;# Set SessionLiveTimeout=60 to limit maximum time of a session live in seconds.
;# This operates on a session token.  Default is 0 (no timeout).

Konfiguration der RAD Server Engine-Authentifizierung

Sie können die Standardinformationen für die Authentifizierung bei Ihrer RAD Server Engine (EMS-Server) ändern. Suchen Sie in der Datei EMSServer.ini den Abschnitt [Server.Keys]:

  • MasterSecret. Schlüssel, mit dem alle Vorgänge ohne Berücksichtigung des Eigentümers durchgeführt werden können (z. B. einen beliebigen Benutzer in der RAD Server-Datenbank aktualisieren).
  • AppSecret. Schlüssel, mit dem beliebige Anforderungen an autorisierten Endpunkten vorgenommen werden können.
  • ApplicationID. Bezeichner für die RAD Server Engine. Anhand dieses Bezeichners werden RAD Server Engines unterschieden. Anforderungen von den RAD Server-Clients werden zurückgewiesen, wenn die ApplicationID in der Anforderung nicht mit der für die RAD Server Engine (EMS-Server) definierten ApplicationID übereinstimmt.
[Server.Keys]
MasterSecret=MasterSecretKey
AppSecret=AppSecretKey
ApplicationID=ApplicationIDKey

Sie können auch Zugriffsregeln festlegen, um den Zugriff auf eine Übersicht über RAD Server-Ressourcen zuzulassen oder zu verweigern. Suchen Sie in der Datei EMSServer.ini den Abschnitt [Server.Authorization], und fügen Sie Ihre benutzerdefinierten Zugriffsregeln hinzu.

[Server.Authorization]
Users={"public": false}
Users.LoginUser={"public": true}
Users.SignupUser={"public": true}

Domänenübergreifende RAD Server Engine-API

Sie können die Berechtigung ändern, um unterschiedlichen Domänen (außerhalb der RAD Server Engine-Domäne) HTTP-Anforderungen an die public RAD Server Engine API zu gestatten. Suchen Sie in der Datei EMSServer.ini den Abschnitt [Server.APICrossDomain]:

  • CrossDomain. Liste der Domänen, die domänenübergreifende HTTP-Anforderungen an die RAD Server Engine-API stellen können. Verwenden Sie den Platzhalterwert *, um beliebige Domänen zuzulassen.
[Server.APICrossDomain]
;# Write here the domains allowed to call the API. Used for Cross-Domains
CrossDomain = *

Verbindung zur RAD Server Engine

Sie können die Standardinformationen für die Verbindung mit Ihrer RAD Server Engine (EMS-Server) ändern. Suchen Sie in der Datei EMSServer.ini den Abschnitt [Server.Connection.Dev]:

  • Port. Legt den Verbindungs-Port für die HTTP-Anforderung an die RAD Server Engine fest.
  • HTTPS. Aktiviert die HTTPS-Unterstützung für die RAD Server Engine. Falls aktiviert, müssen Sie OpenSSL installieren und die Informationen der Zertifizierungsdatei konfigurieren.
  • CertFile. Absoluter Pfad zu der selbstsignierten Zertifizierungsdatei (.pem-Datei).
  • RootCertFile. Absoluter Pfad zu der von einer CA signierten Zertifizierungsdatei (.pem-Datei). Wenn Sie ein selbstsigniertes Zertifikat verwenden, lassen Sie diese Angabe frei.
  • KeyFile. Absoluter Pfad zu der selbstsignierten Schlüsseldatei (.pem-Datei).
  • KeyFilePassword. Passwort, das für die Verwendung der Zertifizierungsdatei festgelegt wurde.
[Server.Connection.Dev]
Port=8080
;# The following options enable HTTPS support.
HTTPS=1
;# Set HTTPS=1 to enable HTTPS, HTTPS=0 to disable.
 CertFile=C:\Users\Public\Documents\Embarcadero\EMS\cacert.pem
; RootCertFile=
;# When using a self-signed certificate, RootCertFile is left blank.
 KeyFile=C:\Users\Public\Documents\Embarcadero\EMS\cakey.pem
 KeyFilePassword=certpassword

FireBase Cloud Messaging für RAD Server

Sie können die Einstellungen für FireBase oder Google Cloud Messaging (FCM/GCM) für die RAD Server Engine (EMS-Server) konfigurieren. Suchen Sie in der Datei EMSServer.ini den Abschnitt [Server.Push.GCM]:

[Server.Push.GCM]
;# This section is for FireBase and Google Cloud Messaging (FCM / GCM) settings.
;# These settings are needed to send push notifications to an Android device.
ApiKey=XXXXXXXXXXXX
;# Set your server key
ApiURL=
;# Set send message to REST API URL
;# See the default vale here.

Mandanten der RAD Server Engine

In diesem Abschnitt können Sie die Mandantenkonfigurationen für Ihren RAD Server ändern. Sie können einen der folgenden Mandantenmodi auswählen:

  • Modus "Einzelner Mandant"
  • Modus "Mehrere Mandanten"

Weitere Informationen zum Modus "Mehrere Mandanten" finden Sie im Thema Unterstützung mehrerer Mandanten für RAD Server.

Suchen Sie in der Datei EMSServer.ini den Abschnitt [Server.Tenants]:

  • MultiTenantMode: Legt den Modus für Ihren RAD Server fest. Um in den Modus für mehrere Mandanten umzuschalten, entfernen Sie die Kommentarzeichen aus dieser Zeile. Bei MultiTenantMode=1 ist der Modus für mehrere Mandanten aktiviert. Bei MultiTenantMode=0 arbeitet RAD Server im Modus "Einzelner Mandant".
  • DefaultTenantId: Ändert im Modus "Einzelner Mandant" die standardmäßige TenantId in die benutzerdefinierte ID.
  • TenantIdCookieName: Legt den benutzerdefinierten Cookie-Namen zum Speichern der TenantId in der RAD Server-Konsole fest.
[Server.Tenants]
;# This section defines settings for Single or Multi-Tenant modes.
;#
;# The MultiTenantMode option is used to turn on the Multi-Tenant mode. 
;# If the Multi-Tenant mode is turned on, then TenantId and TenantSecret is required to access EMS Server.
;MultiTenantMode=1
;#
;# Default Tenant is used only in the Single Tenant mode.
;DefaultTenantId=00000000-0000-0000-0000-000000000001
;#
;# Define custom cookie name to store TenantId in RAD Server Console.
;TenantIDCookieName=TenantID

Unterstützung für die Weiterleitung von RAD Server Engine-Dateien

Sie können RAD Server so konfigurieren, dass Verzeichnisse mit statischen Dateien und die zugeordneten URLs erkannt werden. Jeder Eintrag wird mit einem JSON-Objekt definiert und die Anzahl der Einträge ist unbegrenzt. Suchen Sie in der Datei EMSServer.ini den Abschnitt [Server.PublicPaths]. Das Objekt besitzt folgende Eigenschaften:

  • path: Die relative URL.
  • directory: Physischer Speicherort der statischen Dateien.
  • default: Legt die Standarddatei fest, die beim Anzeigen des Stammverzeichnisses des virtuellen Verzeichnisses weitergeleitet wird (optional).
  • mimes: Array mit MIME-Dateitypmasken (optional).
  • extensions: Array mit Dateierweiterungen (optional).
[Server.PublicPaths]
Path1={"path": "images", "directory": "C:\\web\\images\\", "default": "index.html", "mimes": ["image/*"]}
Path2={"path": "content", "directory": "C:\\web\\content\\", "default": "index.html", "extensions": ["js", "html", "css"]}

Thread-Verwaltung für RAD Server Engine

Sie können die erweiterte Option für die Thread-Verwaltung bei der RAD Server-Entwicklung konfigurieren, um die Arbeitslast in Ihrer Umgebung besser zu bewältigen. Der Abschnitt [Server.Threads.Dev] enthält die folgenden Optionen:

  • Optionen für den Thread-Pool
  • Optionen für die Warteschlange
  • Optionen für die Verbindung
[Server.Threads.Dev]
;# The following options control how EMSDevServer manages threads to handle requests
;#
;# Thread pool options
; ThreadPool=1
;# Set ThreadPool=1 to enable thread pool scheduler, ThreadPool=0 to disable.
; ThreadPoolSize=5
;# ThreadPoolSize indicates how many threads are available to handle requests
;#
;# Queueing options
; ListenQueue=100
;# ListenQueue indicates how many requests can be queued when all threads are busy
;#
;# Connection options
; KeepAlive=1
;# Set KeepAlive=1 to enable HTTP connections to keep alive, KeepAlive=0 to disable.

Sqids-Decodierung von RAD Server

Sie können die Standardeinstellung der TSqidsEncoding-Instanz ändern, die die RAD Server Engine verwendet. Suchen Sie in der Datei EMSServer.ini den Abschnitt [Server.Sqids] und ändern Sie die folgenden Parameter:

  • Alphabet: Optionales Alphabet für die Sqids-Decodierung.
  • MinHashLength: Optionale minimale Hash-Länge für die Sqids-Decodierung.
[Server.Sqids]
;# The following options control URL parameters Sqids decoding
;#
;# Optional alphabet for Sqids decoding
Alphabet=
;# Optional minimal hash length for Sqids decoding
MinHashLength=0
Hinweis: Detaillierte Informationen über Sqids in RAD Studio finden Sie unter Tutorial: Verwenden der Sqids-Codierung.

Siehe auch