Wordpress Login hinter einem RP einschränken

wario

Active member
Hallo Leute,

ich betreibe meine Wordpress Installation hinter einem Nginx Proxy Manger welcher als eigenständige Docker VM auf meinem Proxmox Host läuft.
Dort ist normal die Weiterleitung hinterlegt inkl Zertifkat und allem. (Weiterleitung 443 auf 80)

Ich habe jetzt leider die Probleme, das Wordpress nur die IP Adresse des RPs regististriert, und nicht diejenige der auf die Seite zugreifen will. Wordpress selber habe ich folgendermassen konfigriert (aus einer Internet Anleitung) damit WP überhaupt lauffähig hinter einem WP zu bekommen war:

x_forwarded_for sollte ja gesetzt sein.

PHP:
define('.COOKIE_DOMAIN.', 'yourdevice.ch');
define('.SITECOOKIEPATH.', '.');

if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        $list = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
        $_SERVER['REMOTE_ADDR'] = $list[0];
  }
define( 'WP_HOME', 'https://yourdevice.ch' );
define( 'WP_SITEURL', 'https://yourdevice.ch' );
$_SERVER['HTTP_HOST'] = 'yourdevice.ch';
$_SERVER['REMOTE_ADDR'] = 'https://yourdevice.ch';
$_SERVER[ 'SERVER_ADDR' ] = 'yourdevice.ch';

if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
       $_SERVER['HTTPS']='on';

setze ich nun eine fail2ban regel blockiert fail2ban den RP
Versuche ich das über die .htaccess bekomme ich nur zugriff bei allow IP_RP

Der Apache access.log registriert ebenso nur die interne IP des Reverse Proxy Servers

Meine Wordpresskonfiguration ist anscheinend nicht korrekt. Muss ich noch eine bestimmte Konfig im NginxProxy Manager setzen? Oder weiss jemand wie ich die Wordpress config richtig setze?

Grüsse
Wario
 
Zuletzt bearbeitet:

blurrrr

Well-known member
Hast Du diesbezüglich noch was beim NPM konfiguriert, oder nur bei Wordpress? Wenn der Reverse-Proxy die Infos nicht entsprechend im HTTP-Header verewigt, kann das dahinterliegende System auch nur sehen, was übermittelt wurde. Vermutlich muss beim NPM in den Domain-Einstellungen unter "Advanced" sowas hier eingefügt werden:

NGINX:
proxy_set_header   X-Forwarded-Host   $host;
proxy_set_header   X-Forwarded-Server $host;
proxy_set_header   X-Forwarded-For    $proxy_add_x_forwarded_for;

Eine Übersicht über die ganzen Module gibt es hier: https://nginx.org/en/docs/http/ngx_http_proxy_module.html

EDIT: Hier noch ein kleiner Link hinterher: https://www.nginx.com/resources/wiki/start/topics/examples/forwarded/
 
Zuletzt bearbeitet:

wario

Active member
Laut NPM werden keine add_header configs über das Menu advanced akzeptiert, anscheinend muss ich dass über die Custom locations machen, wobei ich gerade allerdings keinen Durchblick hab was ich da eintragen muss und suche gerade im Netz was ich da genau eintragen muss.
 

Anhänge

  • nginxcustomloc.png
    nginxcustomloc.png
    87,3 KB · Aufrufe: 4
  • nginxad.png
    nginxad.png
    154,8 KB · Aufrufe: 4

wario

Active member
na klar das hab ich schon gesehen, aber was kommt in die anderen felder (location) und IP?
hab in die location ServerIP/pfad der wordpress installation eingeben
und unter foward/hostname die IP des webservers

das frisst er nicht und der proxy fährt runter und meldet offline
 

wario

Active member
edit er hats gefressen aber auswirkung hat das keine:
 

Anhänge

  • proxysettings.png
    proxysettings.png
    135,6 KB · Aufrufe: 4

wario

Active member
tut mir leid ich stell mich wahrscheinlich wieder dämmlich an.. was muss den da rein? Das ist der Pfad zur Wordpress Installation
 

blurrrr

Well-known member
Jedenfalls nicht der vollständige Systempfad 😄 Wohl eher IP und - sofern benötigt - "ab Web-Root-Verzeichnis".
 

wario

Active member
okay web-root Verzeichnis hat was gebracht, hab kein Access Denied mehr sondern immerhin was anderes :D

Internal Server Error​

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at webmaster@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.


Apache/2.4.52 (Ubuntu) Server at yourdevice.ch Port 80

schau ich gleich mal nach was da drin steht.
 

wario

Active member
tuuuut mir leid, war ein tippfehler von gerade eben in der htaccess. Mit Webroot pfad immer noch forbidden/Access Denied

nur RP IP lässt er in der htaccess zu
 

wario

Active member
über den Domainnamen. hab nen nen DNS Resolver Eintrag in der pfsense. Der resolver zeigt auf den RP
 

blurrrr

Well-known member
Und via IP (auch wenn es so nicht funktioniert)? Einfach nur IP:80, oder doch etwas anderes?
 

wario

Active member
mit WebServer_IP:80 werde ich direkt auf meine Seite geleitet.

Edit: also bei serverip:80 redirect auf https://domain mit korrektem zertifikat
 
Zuletzt bearbeitet:

wario

Active member
also ip/webroot geht nicht, webroot selber passiert auch nichts. Aktueller Stand siehe screenshot. Immer noch 403 Forbidden. Nur RP IP lässt er zu

in der htaccess im wp-admin Ordner ist meine externe IP und die der Workstation

PHP:
<Limit GET POST PUT>

order deny,allow

deny from all

allow from WORKSTATIONIP
allow from EXTERNALIP

</Limit>
 

Anhänge

  • rpconfig.png
    rpconfig.png
    129,8 KB · Aufrufe: 3

Howcountry

Member
Ich hab bei mir in der /etc/nginx/nginx.conf im Container folgende Zeilen geändert:
Code:
        proxy_set_header              Host $host;
        proxy_set_header              X-Real-IP $remote_addr;
        proxy_set_header              X-Forwarded-Scheme $scheme;
        proxy_set_header              X-Forwarded-For $proxy_add_x_forwarded_for;
        #proxy_set_header             X-Forwarded-Proto $proxy_x_forwarded_proto;
        proxy_set_header              Accept-Encoding "";

damit werden die ip Adressen geforwarded. im Webinterface habe ich nur nur im ersten Reiter "Details" die Daten eingetragen und nichts unter advanced oder custom locations.
 

wario

Active member
@Howcountry
Vielen Dank für den Hinweis :)
ich bin absoluter Docker noob, wollte mich schon ein paar mal damit beschäftigen bin leider noch nicht dazu gekommen. Wie komme ich direkt in den Docker rein um die Files zu bearbeiten. Entschuldige die Frage, aktuell weiss ich nur ob der Docker läuft oder nicht :ROFLMAO:
:censored:
 

Howcountry

Member
Ich habe portainer laufen damit kann man wenn das -i und oder -t flag gesetzt wird auf die console des Containers.portainer console.png
 

Anhänge

  • portainer 02.png
    portainer 02.png
    64 KB · Aufrufe: 2

wario

Active member
ich hab ja auch nen CT der läuft auf einem Pve und nicht auf einem Porteiner, aber wie ich vom container an die Dockerfiles rankomme hab ich kein Plan, und wenn ich recherchiere lese ich dass ich den Docker jedesmal neu aufsetzen muss um an den configs etwas zu ändern?

Es muss doch möglich sein NPM über das Webinterface ordentlich zu konfiurieren.
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
1.709
Beiträge
21.290
Mitglieder
1.217
Neuestes Mitglied
DUC750
Oben