Benutzer-Werkzeuge


Wordpress hinter einem HTTP(S)-Proxy

Bei Wordpress gibt es viele Plugins welche die REMOTE_ADDR des Clients auswerten. Wenn man seinen Server aber hinter einem Proxy betreibt, dann ist dieser Wert immer gleich der IP eures Proxys. Das ist natürlich nicht so sinnvoll ;-)

Um das zu beheben muss man einen Proxy-Server verwenden, der die IP des Clients als HTTP-Header weitergibt (der Proxy z.B. pound kann das). Dann passt man sich das php.ini File auf dem Server an und schreibt eine Zeile resp passt eine bereits vorhandene Zeile an

auto_prepend_file = /path/to/script

und legt dann das Script unter dem obigen Pfad mit folgendem Inhalt an

<?php
$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_FORWARDED_FOR'];
?>

dabei ist HTTP_X_FORWARDED_FOR der Name des Headers. Kann sein, dass der bei anderen Proxy-Servern auch anders heisst. Den Namen findet ihr aber schnell, indem ihr ein kleines Script mit

<?php
echo '<pre>';
var_dump($_SERVER);
echo '</pre>';
?>

macht und nach der IP sucht :-)

Es gibt auch Apache Module die das automatisch machen. Das hat den Vorteil, dass es für den gesamten Server gilt und nicht nur für php-Script. Eines davon heisst mod_rpaf

Melden Sie sich an, um einen Kommentar zu erstellen.

Seiten-Werkzeuge