Si vous déployez ActivityInfo derrière un équilibreur de charge ou un proxy inverse qui assure la terminaison SSL, vous devez mettre à jour la configuration d'ActivityInfo afin que le serveur ActivityInfo sache qu'il doit accepter les requêtes non sécurisées via http, tout en présentant des URL HTTPS sécurisées dans les courriels de notification et autres documents destinés aux utilisateurs.
Le mode proxy Https est pris en charge dans ActivityInfo Standalone Server, Version 4.0.15 et ultérieures.
Mise à jour de config.ini
Vous pouvez activer le mode "Proxy HTTPS" en modifiant le fichier config.ini d'ActivityInfo. Par exemple :
[Server]
Https Port=8080
Https Proxy=True
Utilisation des variables d'environnement
Vous pouvez également fournir des valeurs de configuration à l'aide de variables d'environnement.
Ceci est particulièrement pratique pour transmettre la configuration à ActivityInfo s'exécutant dans un conteneur Docker. Le fichier Docker Compose suivant comprend une section "environment" utilisée pour activer le mode proxy HTTPS :
version: "3"
networks:
web:
external: true
services:
activityinfo:
image: activityinfo/activityinfo:4.1.3
volumes:
- activityinfo:/data
environment:
- ACTIVITYINFO_SERVER_HTTPS_PROXY=TRUE
- ACTIVITYINFO_SERVER_DOMAIN=activityinfo.example.gov
networks:
- web
volumes:
activityinfo:
S'assurer que l'en-tête X-Real-IP est défini
Le serveur autonome ActivityInfo met en œuvre une limitation du débit basée sur l'adresse IP pour un certain nombre de points d'extrémité, y compris la page de connexion. Si une seule adresse IP effectue trop de tentatives de connexion infructueuses, le serveur autonome ActivityInfo bloquera temporairement cette adresse IP et l'empêchera d'effectuer d'autres tentatives de connexion pendant quelques minutes. Il s'agit d'une défense contre les attaques par force brute et les attaques par pulvérisation de mot de passe.
Pour éviter de bloquer tous les utilisateurs, il est important que le serveur autonome ActivityInfo puisse identifier avec précision l'adresse IP de toutes les requêtes, plutôt que de simplement lier chaque requête à l'IP du serveur proxy. Lorsque le mode proxy HTTPS est activé, le serveur autonome ActivityInfo s'appuie sur l'en-tête HTTP conventionnel X-Real-IP
pour fournir ces informations. Assurez-vous que votre serveur proxy définit correctement cet en-tête pour éviter de bloquer tous vos utilisateurs !
Traefik transmet cet en-tête par défaut, et la plupart des fichiers de configuration Nginx l'incluront également. Voici un exemple de fichier de configuration Nginx :
server {
server_name activityinfo.example.gov
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://localhost:8080;
proxy_redirect http://localhost:8080 https://FQHOST;
}
}