Skip to content
Cette page a été générée et traduite avec l'aide de l'IA. Si vous remarquez des inexactitudes, n'hésitez pas à contribuer. Modifier sur GitHub

Configuration du proxy inverse

PRX-WAF agit comme un proxy inverse, transmettant les requêtes client aux serveurs backend en amont après avoir traversé le pipeline de détection WAF. Cette page couvre le routage d'hôte, l'équilibrage de charge et la configuration du proxy.

Configuration des hôtes

Chaque domaine protégé nécessite une entrée d'hôte qui mappe les requêtes entrantes vers un backend en amont. Les hôtes peuvent être configurés de trois façons :

Via le fichier de configuration TOML

toml
[[hosts]]
host        = "example.com"
port        = 80
remote_host = "10.0.0.1"
remote_port = 8080
ssl         = false
guard_status = true

Via l'interface d'administration

  1. Naviguez vers Hôtes dans la barre latérale
  2. Cliquez sur Ajouter un hôte
  3. Remplissez les détails de l'hôte
  4. Cliquez sur Enregistrer

Via l'API REST

bash
curl -X POST http://localhost:9527/api/hosts \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "host": "example.com",
    "port": 80,
    "remote_host": "10.0.0.1",
    "remote_port": 8080,
    "ssl": false,
    "guard_status": true
  }'

Champs d'hôte

ChampTypeRequisDescription
hoststringOuiLe nom de domaine à faire correspondre (ex. example.com)
portintegerOuiPort à écouter (généralement 80 ou 443)
remote_hoststringOuiIP ou nom d'hôte du backend en amont
remote_portintegerOuiPort du backend en amont
sslbooleanNonSi le backend en amont utilise HTTPS (défaut : false)
guard_statusbooleanNonActiver la protection WAF pour cet hôte (défaut : true)

Équilibrage de charge

PRX-WAF utilise l'équilibrage de charge round-robin pondéré entre les backends en amont. Lorsque plusieurs backends sont configurés pour un hôte, le trafic est distribué proportionnellement à leurs poids.

INFO

Plusieurs backends en amont par hôte peuvent être configurés via l'interface d'administration ou l'API. Le fichier de configuration TOML prend en charge les entrées d'hôte à backend unique.

En-têtes de requête

PRX-WAF ajoute automatiquement les en-têtes de proxy standard aux requêtes transmises :

En-têteValeur
X-Real-IPAdresse IP originale du client
X-Forwarded-ForIP client (ajoutée à la chaîne existante)
X-Forwarded-Protohttp ou https
X-Forwarded-HostValeur de l'en-tête Host original

Limite de taille du corps de requête

La taille maximale du corps de requête est contrôlée par la configuration de sécurité :

toml
[security]
max_request_body_bytes = 10485760  # 10 Mo

Les requêtes dépassant cette limite sont rejetées avec une réponse 413 Payload Too Large avant d'atteindre le pipeline WAF.

Gestion des hôtes

Lister tous les hôtes

bash
curl -H "Authorization: Bearer $TOKEN" http://localhost:9527/api/hosts

Mettre à jour un hôte

bash
curl -X PUT http://localhost:9527/api/hosts/1 \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"guard_status": false}'

Supprimer un hôte

bash
curl -X DELETE http://localhost:9527/api/hosts/1 \
  -H "Authorization: Bearer $TOKEN"

Règles basées sur les IPs

PRX-WAF prend en charge les règles d'autorisation et de blocage basées sur IP qui sont évaluées dans les Phases 1-4 du pipeline de détection :

bash
# Ajouter une règle de liste blanche IP
curl -X POST http://localhost:9527/api/rules/ip \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"ip": "10.0.0.0/8", "action": "allow"}'

# Ajouter une règle de liste noire IP
curl -X POST http://localhost:9527/api/rules/ip \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"ip": "203.0.113.50", "action": "block"}'

Étapes suivantes

Released under the Apache-2.0 License.