Projet

Général

Profil

Anomalie #1653

Configuration d'un Drupal derrière un reverse proxy

Ajouté par Frédéric Couchet il y a presque 9 ans. Mis à jour il y a plus de 3 ans.

Statut:
Fermé
Priorité:
Normale
Assigné à:
Catégorie:
-
Version cible:
-
Début:
30/04/2015
Echéance:
% réalisé:

100%

Temps estimé:
Difficulté:
2 Facile

Description

Sur www.contact.org nous avons un formulaire de contact
http://www.april.org/contact qui utilise le module Contact de Drupal
(version 6).

Cela permet d'envoyer des courriels à différents destinataires en
fonction de catégories. Quelqu'un m'a signalé que le formulaire lui
avait affiché directement le message "Vous ne pouvez pas envoyer plus de
3 messages par heure. Veuillez réessayer plus tard." alors qu'il n'avait
pas envoyé de message.

Historique

#1

Mis à jour par Frédéric Couchet il y a presque 9 ans

J'ai fait un test, j'ai pu envoyé un courriel. En réessayant de renvoyer
un courriel j'ai eu le message ci-dessous. J'ai eu le même message en me
connectant via une autre IP. Dans les deux cas, je ne suis pas connecté
au Drupal.

Étrange. En inspectant le code, j'ai vu qu'il fallait regarder du côté
des fonctions flood_is_allowed et flood_register_event définies dans
/usr/share/drupal6/includes/common.inc. Ces fonctions faisant appel à la
fonction ip_address définie dans
/usr/share/drupal6/includes/bootstrap.inc. Cette fonction gère le fait
que Drupal peut être derrière un reverse proxy ce qui est notre
cas. Mais encore faut-il avoir configuré Drupal en conséquence :)

Ce qui n'était pas le cas, la table flood ayant uniquement l'IP de notre
reverse proxy, ce qui explique le message affiché par le formulaire :

mysql> select * from flood;
-----------------------+------------+------+
event hostname timestamp fid
-----------------------+------------+------+
contact 192.168.1.10 1430385968 1300

Modification de /etc/drupal/6/sites/default/settings.php en ajoutant

$conf['reverse_proxy'] = TRUE;

$conf['reverse_proxy_addresses'] = array('192.168.1.10');

mysql> select * from flood;
-----------------------+------------+------+ | event | hostname | timestamp | fid |
-----------------------+------------+------+ | contact | 82.120.89.202 | 1430385968 | 1300 | | contact | 176.31.119.197 | 1430386068 | 1301 |
-----------------------+------------+------+
2 rows in set (0.00 sec)

Ce coup-ci c'est l'IP du client qui est inséré.

Un bug qu'on doit se trainer depuis des lustes.

#2

Mis à jour par Frédéric Couchet il y a presque 9 ans

  • Statut changé de Nouveau à Résolu
  • % réalisé changé de 0 à 100
#3

Mis à jour par Quentin Gibeaux il y a presque 5 ans

  • Statut changé de Résolu à Fermé
#4

Mis à jour par Christian P. Momon il y a plus de 3 ans

  • Description mis à jour (diff)
  • Assigné à mis à Frédéric Couchet

Formats disponibles : Atom PDF