[PHP] recuperare IP dei server in load balancing [RISOLTO]

bdario58

Nuovo Utente
28 Giu 2019
4
0
1
Buongiorno a tutti,
premessa: non conosco php
ho realizzato un ambiente web in ha utilizzando Apache come Reverse Proxy
In allegato l'immagine dell'architettura.
Tutti i server sono CentOS 7 e montano Apache 2.4
La DocumentRoot fa riferimento ad una directory nfs fisicamente presente sul server nfs
i server sono in load balancing dietro al reverse proxy
ho verificato che quando interrogo il proxy i server web rispondono alternativamente nel rispetto della mia configurazione
In sostanza tutto funziona perfettamente
Il mio desiderio è quello di presentare l'indirizzo IP del server web che restituisce il servizio al proxy in modo da sapere quale web server risponde al proxy
Ho provato con un piccolo script php che restituisce il risultato della funzione $_SERVER['REMOTE_ADDR'];
peccato che il remote_addr sia quello del proxy, mentre io vorrei vedere quello del web-1 oppure quello del web-2 a seconda di quale dei due web server stia offrendo il servizio al proxy in quel momento.
Spero di essere stato chiaro
Ringrazio per la collaborazione
Dario
Apache_load_balancer.jpg
 

bdario58

Nuovo Utente
28 Giu 2019
4
0
1
Ho risolto come segue:
<?php
$server_name=exec('hostname');
echo "servizio erogato dal server: $server_name ";
echo " attivo con IP: " . $_SERVER['SERVER_ADDR'];
?>

Grazie comunque, alla prossima.
Dario
 

mr.x

Utente Attivo
9 Apr 2016
251
25
28
prova anche questi

PHP:
$hostname = gethostname();

echo $hostname.'<br>';

$hostname = php_uname('n'); //con uname puoi avere anche altr info sulla macchina es. cambia 'n' con 'a'

echo $hostname.'<br>';

$ip=gethostbyname($hostname); //ip della macchina in base all'hostname restituio dalla funzione precedente

echo $ip;