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