Phpbb - Nginx - Localhost

Forum de support pour les questions concernant l'utilisation de phpBB 3.3, les problèmes rencontrés lors de manipulations, de configuration du forum ou de personnalisation autres que les Styles ou les Extensions

Modérateur: Equipe

Règles du forum
A lire impérativement : Règlement de phpBB-fr.com

Pensez à effectuer une recherche, la réponse à votre question a de grandes chances d'avoir déjà été donnée.

Phpbb - Nginx - Localhost

Messagepar pecolard » 22 Fév 2021 à 23:20

Bonjour

Je poste ici sur le conseil de Jester.
Nous hébergeons un phpbb 3.3.3, sur un serveur NGINX, php 7.4, maria db 10.3


A l'heure où j'écris, je ne sais pas si la configuration dédiée NGINX est bien installée sur le serveur. D'ailleurs, cette configuration est-elle indispensable ou plutôt correspond-t-elle à une solution pour notre problème ?

Voici les faits qui nous posent problème :
Depuis le passage à NGINX, nous constatons que les IP affichées sur le PCA sont toutes en 127.0.0.1. Avant, nous avions les IP réelles.
En regardant la bdd, la table user indique les ip réelles des utilisateurs.

Je fais un test ce matin en entrant un message sur le forum.
Dans la table user, le champ user_lastpost_time est bien mis à jour, mais les champs user_ip`, `user_lastvisit` ne sont pas mis à jour.
Le PCA indique toujours l'adresse localhost.

Nous aimerions votre aide pour identifier le problème.
- Les champs user_ip`, `user_lastvisit`sont-ils censés se mettre à jour à chaque visite (normalement, j'imagine que oui ?)
- Le PCA prend-il sa source d'ip depuis la bdd ou depuis une donnée intermédiaire et postérieure ou antérieure à l'inscription dans la bdd ?

Merci.
pecolard
Posteur néophyte
Posteur néophyte
 
Messages: 5
Enregistré le: 22 Fév 2021 à 23:05

Re: Phpbb - Nginx - Localhost

Messagepar Steph » 24 Fév 2021 à 13:07

Salut,

pecolard a écrit:Depuis le passage à NGINX, nous constatons que les IP affichées sur le PCA sont toutes en 127.0.0.1. Avant, nous avions les IP réelles.


Je ne connais pas NGINX, mais voilà un message qui peut surement au moins donner une piste : support-utilisation-phpbb32/sujet211750.html#p1656827

Une autre piste ici : https://www.phpbb.com/community/viewtopic.php?t=2379931

pecolard a écrit:En regardant la bdd, la table user indique les ip réelles des utilisateurs.


C’est-à-dire ? Pour les nouveaux enregistrés ou seulement pour les anciens ?

pecolard a écrit:Dans la table user, le champ user_lastpost_time est bien mis à jour, mais les champs user_ip`, `user_lastvisit` ne sont pas mis à jour.


Ce qu’il serait bien de savoir, c’est si le champ n’est effectivement pas mis à jour ou si l’information est enregistrée avec 127.0.0.1, car ce n’est pas forcément pareil.
Avatar de l’utilisateur
Steph
Administrateur
Administrateur
 
Messages: 20815
Enregistré le: 29 Déc 2008 à 15:48
Localisation: Alsace / Bas-Rhin / France

Re: Phpbb - Nginx - Localhost

Messagepar Skouat » 24 Fév 2021 à 19:38

Hello,

Juste au cas où que vous ne l'auriez pas vu, phpBB fourni un modèle de configuration pour Nginx

https://github.com/phpbb/phpbb/blob/3.3 ... ample.conf
Skouat
Resp. Traducteurs
Resp. Traducteurs
 
Messages: 14819
Enregistré le: 02 Avr 2008 à 19:47

Re: Phpbb - Nginx - Localhost

Messagepar pecolard » 24 Fév 2021 à 20:23

Bonjour

Oui, le modèle, on vient de le voir, donc on va voir avec la DSI pour le mettre en place.
Cependant, ça n'explique pas tout.

Les adresses réelles semblent bien enregistrées pour tous les utilisateurs qui se connectent.
Je me connecte sur le forum avec mon compte perso
En faisant cette requête directement en bdd
SELECT `username`,`user_ip`, `user_lastvisit`, `user_lastpost_time` FROM `phpbb3_users` ORDER BY `user_lastvisit` DESC
je vois, d'après le timestamp, que ma dernière connexion (lastvisit) remonte à lundi midi 12h36. Bon, on est le 24/02, trois jours plus tard.
Pourtant, la requête sql me donne bien des utilisateurs qui se sont connectés aujourd'hui, mais je pense pas tous.

Donc pas de problème de cache à priori, car sinon toutes les entrées remonteraient à il y a trois jours.
Et dans cette requête, j'ai bien toutes les adresses IP normales des dernières personnes qui se sont connectées, pas du localhost.


Si j'ai bien pigé, le schéma de connexion est le suivant :
Mon pc -> Frontal load balancer (NGINX) -> Serveur phpbb.
Il y a la variable x-forwarded-for de php qui donne en premier mon adresse IP, puis celle du proxy pour accéder au serveur php.

Je viens de faire un script en php, que j'ai uploadé sur mon serveur.
<?php

$headers = apache_request_headers();
$real_client_ip = $headers["X-Forwarded-For"];
echo $real_client_ip;
?>

Voici le résultat :
84.17.43.146, 127.0.0.1


Ce script affiche bien mon ip réelle, suivie de 127.0.0.1

La bdd prendrait le premier champ, le reste la seconde ? Pas logique, mais je vois pas où chercher une autre réponse.

++
pecolard
Posteur néophyte
Posteur néophyte
 
Messages: 5
Enregistré le: 22 Fév 2021 à 23:05

Re: Phpbb - Nginx - Localhost

Messagepar Skouat » 25 Fév 2021 à 21:16

Hello,

Mon pc -> Frontal load balancer (NGINX) -> Serveur phpbb.

J'ai du mal à me représenter l'infra en place.
Vous évoquez un Load Balancer sous NGINX et un serveur phpBB.
Donc il y a deux machines différentes ?
Skouat
Resp. Traducteurs
Resp. Traducteurs
 
Messages: 14819
Enregistré le: 02 Avr 2008 à 19:47

Re: Phpbb - Nginx - Localhost

Messagepar pecolard » 25 Fév 2021 à 21:37

Oui, c'est bien ça. Le frontal réparti les requêtes qui arrivent vers les serveurs qui gèrent les bdd.
Donc le frontal chope la requête que j'envoie vers phpbb, avec ma vraie ip, puis redirige la requête (c'est un proxy) vers le serveur qui héberge (entre autre) phpbb. A chaque fois que la requête passe par un serveur proxy, il ajoute l'adresse de ce proxy.
Donc ici il ajoute 127.0.0.1.
https://tools.ietf.org/html/rfc7239#section-5.2

Les IP récupérées par phpbb sont donc multivaluées lorsqu'elles passent par un load balancer comme nginx.
pecolard
Posteur néophyte
Posteur néophyte
 
Messages: 5
Enregistré le: 22 Fév 2021 à 23:05

Re: Phpbb - Nginx - Localhost

Messagepar Skouat » 25 Fév 2021 à 22:41

Dans ce cas, avez-vous la possibilité de ne pas passer par le LB, en modifiant le fichier host de votre ordi afin que le nom d'hôte pointe directement sur l'IP de phpBB ?
Si cela est possible, alors vous pourrez voir si le problème est bien au niveau de phpBB ou du LB
Skouat
Resp. Traducteurs
Resp. Traducteurs
 
Messages: 14819
Enregistré le: 02 Avr 2008 à 19:47

Re: Phpbb - Nginx - Localhost

Messagepar pecolard » 25 Fév 2021 à 23:35

ok, je vois l'idée, mais le problème c'est que ce ne sont pas deux serveurs indépendants.
Je ne peux pas atteindre le serveur qui gère phpbb sans passer par le frontal.

le LB est la seule porte d'entrée, le reste est un peu comme un réseau à la maison. On ne peut pas aller directement sur le pc derrière la box sans passer par la box.

il serait plus simple de confirmer que le code du PCA et le code qui vérifie l'ouverture de session prennent bien en compte les adresses ip avec x_forwarded_for.
Si ce n'est pas le cas, on a notre réponse. Si c'est le cas et que le code est juste, alors je dois chercher ailleurs.
pecolard
Posteur néophyte
Posteur néophyte
 
Messages: 5
Enregistré le: 22 Fév 2021 à 23:05

Re: Phpbb - Nginx - Localhost

Messagepar Sylveretour » 26 Fév 2021 à 09:21

Bonjour,

En regardant la bdd, la table user indique les ip réelles des utilisateurs.

Ce n'est pas dans cette table qu'il faut regarder les nouvelles ips, mais dans la table sessions.
Avatar de l’utilisateur
Sylveretour
Floodeur mature
Floodeur mature
 
Messages: 1704
Enregistré le: 21 Nov 2017 à 18:24
Localisation: West Coast

Re: Phpbb - Nginx - Localhost

Messagepar pecolard » 26 Fév 2021 à 10:29

ah bah oui tiens, j'aurais pu y penser tout seul. Merci
Donc dans session, l'ip est en 127.0.0.1. Toutes les ip, de tout le monde.
pecolard
Posteur néophyte
Posteur néophyte
 
Messages: 5
Enregistré le: 22 Fév 2021 à 23:05


Retourner vers Utilisation

 


  • Articles en relation
    Réponses
    Vues
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité