Si vous déployez ActivityInfo derrière un répartiteur 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 continuant à présenter des URL HTTPS sécurisées dans les e-mails de notification et autres documents destinés aux utilisateurs.
Le mode Proxy Https est pris en charge dans le serveur autonome ActivityInfo, version 4.0.15 et ultérieures.
Mettre à jour 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=Vrai
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 contient 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 de terminaison, y compris la page de connexion. Si une seule adresse IP effectue un trop grand nombre de tentatives de connexion échouées, le serveur autonome ActivityInfo bloquera temporairement cette adresse IP pour l'empêcher de faire 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 mots 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'adresse 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 cette information. 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;
}
}