Modification manuelle de la configuration du moteur RAD Server

De RAD Studio
Aller à : navigation, rechercher

Remonter à Installation du moteur RAD Server


Le moteur RAD Server est configuré avec les paramètres par défaut lorsque vous configurez votre environnement RAD Server pour la première fois.

Vous pouvez changer la configuration de votre moteur RAD Server en modifiant le fichier EMSServer.ini situé dans C:\Users\Public\Documents\Embarcadero\EMS. Si vous modifiez ce fichier, vous devez interrompre et redémarrer le moteur RAD Server (Serveur EMS) pour recharger le fichier emsserver.ini.

Configuration de la base de données de RAD Server

Vous pouvez modifier les informations par défaut de la base de données RAD Server utilisée par le moteur RAD Server. Dans le fichier EMSServer.ini, accédez à la section [Data] :

  • InstanceName. Spécifie l'instance d'InterBase qui héberge la base de données de RAD Server.
  • Database. Répertoire local du fichier de la base de données de RAD Server.
  • UserName. Nom d'utilisateur pour l'accès à la base de données de RAD Server.
  • Password. Mot de passe pour l'accès à la base de données de RAD Server.
  • SEPassword. Mot de passe pour la connexion à une base de données InterBase encryptée.
  • Pooled. Active le pooling de connexion FireDAC sur la base de données de RAD Server pour réduire la latence.
  • PooledMax. Nombre maximal de connexions en pool autorisées sur la base de données de RAD Server.
  • SessionTimeout. Temps maximal d'inactivité de la session (en secondes).
  • ClientLib. Chemin facultatif vers le fichier FDConnectionDef.ini de FireDAC
  • DriverFile. Chemin facultatif vers le fichier FDDrivers.ini de FireDAC.
[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).

Consignation des journaux RAD Server

Vous pouvez définir les paramètres de consignation des journaux RAD Server.

[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

Limites du moteur RAD Server

Vous pouvez modifier les informations par défaut du nombre de connexions simultanées à la base de données de RAD Server ou le nombre maximal d'utilisateurs de RAD Server. Dans le fichier EMSServer.ini, accédez à la section [Server.Limits] :

  • MaxConnections. Nombre maximal de requêtes HTTP simultanées au moteur RAD Server.
  • MaxUsers. Nombre maximal d'utilisateurs RAD Server autorisés dans la base de données de RAD Server. Cette valeur dépend de la licence RAD Server utilisée.
  • SessionInactivityTimeout. Temp maximum en secondes pendant lequel une session utilisateur peut être inactive avant qu'elle expire et se ferme. Cela se produit sur un token de session. La valeur par défaut est 0 (aucun délai)
  • SessionLiveTimeout. Temp maximum en secondes pendant lequel une session utilisateur peut être active avant qu'elle expire et se ferme. Cela se produit sur un token de session. La valeur par défaut est 0 (aucun délai)
[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).

Configuration de l'authentification du moteur RAD Server

Vous pouvez modifier les informations par défaut d'authentification de votre moteur RAD Server (serveur EMS). Dans le fichier EMSServer.ini, accédez à la section [Server.Keys] :

  • MasterSecret. Clé autorisant toute opération indépendamment de la propriété (mise à jour d'un utilisateur dans la base de données de RAD Server, par exemple).
  • AppSecret. Clé autorisant toute requête vers les points de terminaison autorisés.
  • ApplicationID. Identificateur pour le moteur RAD Server Cet identificateur différencie les moteurs RAD Server. Les requêtes à partir des clients RAD Server sont rejetées si l'ApplicationID dans la requête ne correspond pas à l'ApplicationID défini pour le moteur RAD Server (serveur EMS).
[Server.Keys]
MasterSecret=MasterSecretKey
AppSecret=AppSecretKey
ApplicationID=ApplicationIDKey

Vous pouvez également définir des règles d'accès pour autoriser ou refuser l'accès à une ressource RAD Server. Dans le fichier EMSServer.ini, accédez à la section [Server.Authorization] et ajoutez vos règles d'accès personnalisées.

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

Domaines croisés de l'API du moteur RAD Server

Vous pouvez modifier la permission pour permettre à différents domaines (en dehors du domaine du moteur RAD Server) d'effectuer des requêtes HTTP à l'API du moteur RAD Server public. Dans le fichier EMSServer.ini, accédez à la section [Server.APICrossDomain] :

  • CrossDomain. Liste de domaines autorisés à effectuer des requêtes HTTP inter-domaines à l'API du moteur RAD Server. Pour autoriser n'importe quel domaine, utilisez le caractère générique *.
[Server.APICrossDomain]
;# Write here the domains allowed to call the API. Used for Cross-Domains
CrossDomain = *

Connexion au moteur RAD Server

Vous pouvez modifier les informations par défaut de connexion de votre moteur RAD Server (serveur EMS). Dans le fichier EMSServer.ini, accédez à la section [Server.Connection.Dev] :

  • Port. Définit le port de connexion pour la requête HTTP au moteur RAD Server.
  • HTTPS. Active le support HTTPS pour le moteur RAD Server. Si ce paramètre est activé, vous devez installer OpenSSL et configurer les informations du fichier de certification.
  • CertFile. Chemin d'accès absolu au fichier de certification auto-signé (fichier .pem).
  • RootCertFile. Chemin d'accès absolu au fichier de certification CA (fichier .pem). Si vous utilisez un certificat auto-signé, laissez ce paramètre vide.
  • KeyFile. Chemin d'accès absolu au fichier de clé auto-signé (fichier .pem).
  • KeyFilePassword. Mot de passe défini pour utiliser le fichier de certification.
[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

RAD Server FireBase Cloud Messaging

Vous pouvez configurer les paramètres FireBase ou Google Cloud Messaging (FCM / GCM) de votre moteur RAD Server (serveur EMS). Dans le fichier EMSServer.ini, accédez à la section [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.

Tenants du moteur RAD Server

Dans cette section, vous pouvez modifier les configurations du tenant pour RAD Server. Vous pouvez sélectionner l'un des modes tenant suivants :

  • Mode client (tenant) unique
  • Mode multi-client (multi-tenant)

Pour plus d'informations sur le mode multi-tenant, voir la rubrique Prise en charge multi-client de RAD Server.

Dans le fichier EMSServer.ini, accédez à la section [Server.Tenants] :

  • MultiTenantMode : spécifie le mode pour RAD Server. Pour basculer en mode multi-tenant, retirez les marques de commentaire de la ligne suivante : Si MultiTenantMode=1, le mode multi-tenant est activé. Si MultiTenantMode=0, RAD Server fonctionne en mode tenant unique.
  • DefaultTenantId : remplace la valeur par défaut TenantId par la valeur personnalisée dans le mode tenant unique.
  • TenantIdCookieName : spécifie le nom du cookie personnalisé qui stocke la valeur TenantId dans la console RAD Server.
[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

Prise en charge de la répartition de fichiers sur le moteur RAD Server

Vous pouvez configurer RAD Server pour identifier les répertoires où sont situés les fichiers statiques et les URL sur lesquelles ils sont mappés. Chaque entrée est définie par un objet JSON et le nombre d'entrées est illimité. Dans le fichier EMSServer.ini, accédez à la section [Server.PublicPaths]. Les propriétés de l'objet incluent :

  • path : L'URL relative.
  • directory : L'emplacement physique des fichiers statiques.
  • default : Définit le fichier par défaut qui sera distribué lors de la navigation dans la racine du répertoire virtuel (facultatif).
  • mimes : Masques de types de fichiers du tableau de types MIME (facultatif).
  • extensions : Tableau des extensions de fichier (facultatif).
[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"]}

Gestion des threads du moteur RAD Server

Vous pouvez configurer la fonction avancée de gestion des threads de RAD Server en fonction de la charge de travail de votre environnement. La section [Server.Threads.Dev] contient les options suivantes :

  • Options relatives au pool de threads
  • Options relatives à la mise en file d'attente
  • Options de connexion
[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.

Voir aussi