Manuelles Bearbeiten der Konfiguration der RAD Server Engine

Aus RAD Studio

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 Cloud Messaging (FCM) settings.
;# These settings are needed to send push notifications to an Android device
ClientID=
;# Set your OAuth2 client ID
ClientSecret=
;# Set your OAuth2 client secret
ProjectID=
;# Set your FCM project ID
RefreshToken=
;# Set your OAuth2 refresh token. You can get it using EMSDevServer using the "Sign in FCM" button.

Apple Push-Benachrichtigungsdienst-Messaging in RAD Server

Sie können die Einstellungen für das Apple Push-Benachrichtigungsdienst-Messaging konfigurieren:

[Server.Push.APNS]
;# This section is for Apple Push Notification Service (APNS).
;# These settings are needed to send push notificatons to an iOS device
CertificateFileName=
;# Name of .p12 or .pem file
CertificateFilePassword=
;# Password of certificate file.  Leave blank if file does not have a password.
ProductionEnvironment=
;# Set ProductionEnvironment=1 when the certificate has been created for production.
;# Set ProductionEnvironment=0 when the certificate has been created for development.
;# Default value is 0 (development).
ApplicationID=
;# Set the optional topic for notifications. The topic is your app’s bundle ID/app ID.

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