Mode proxy HTTPS

Cet article a été traduit de l'anglais par IA et peut contenir des erreurs. Vos commentaires nous aideront à l'améliorer.

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;
    }
}
Élément suivant
Configuration de Mapbox