WordPress hinter Reverse-Proxy-Admin-Problemen

Lesezeit: 2 Minuten

Benutzer-Avatar
Sergej Schluchzen

Im Grunde, wie der Titel sagt, habe ich ein WP hinter dem Reverse-Proxy. Nehmen wir an, die Domäne ist und WordPress ist ****/blog Hier sind die wp-config.php-Änderungen, die es ermöglichen, auf diese Weise zu funktionieren:

define('.ADMIN_COOKIE_PATH.', '/blog');
define('.COOKIE_DOMAIN.', 'www.***.com');
define('.COOKIEPATH.', '/blog');
define('.SITECOOKIEPATH.', '.');


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


define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
       $_SERVER['HTTPS']='on';

$_SERVER['REQUEST_URI'] = str_replace("https://www.***.com/wp-admin",
                                      "https://www.***.com/blog/wp-admin",
                                      $_SERVER['REQUEST_URI']);

Jetzt funktioniert alles perfekt, aber wenn ich an einigen Stellen im Admin-Panel bin, sagen wir Kommentare, wenn ich Formulare absende, geht WP zu */wp-admin statt */blog/wp-admin und stürzt auf 404 ab.

AKTUALISIEREN

versuchte den VHost-Ansatz, fügte dies meiner httpd.conf hinzu

Listen 80 <VirtualHost *:80> 
  DocumentRoot /var/www/wp-admin 
  ServerName https://***/blog/wp-admin 

# Other directives here 
</VirtualHost> 

aber seltsamerweise bekam ich eine Umleitungsschleife, wenn ich danach zu /blog gehe

Wie behebe ich das?

  • Wo ist Ihre WordPress-Site installiert? Ich meine, in welchem ​​​​Ordner Ihres virtuellen Hosts?

    Benutzer1409909

    26. August 2013 um 14:57 Uhr

  • var/www (nicht www/wordpressgerade rein var/www), warum?

    – Sergej Schluchzen

    26. August 2013 um 15:06 Uhr


  • Wäre es einfacher, einen vhost für Ihre Website zu erstellen? Da Sie die Datei „$_SERVER[‘REQUEST_URI’]”, aber es ändert den nativen Workflow von WordPress.

    Benutzer1409909

    27. August 2013 um 7:10 Uhr

  • Diese Zeile war ein Experiment, ich habe es jetzt nicht und es funktioniert immer noch auf die gleiche Weise … was meinst du mit vhost erstellen?

    – Sergej Schluchzen

    28. August 2013 um 11:17 Uhr

  • überprüfen Sie diesen Link: httpd.apache.org/docs/current/vhosts/examples.html . Ich meine, erstellen Sie einen virtuellen Host für www.***.com/blog/wp-admin/ für Dokumentenstamm www/sitefolder/wp-admin . Siehst du?

    Benutzer1409909

    28. August 2013 um 11:23 Uhr

$_SERVER[‘REQUEST_URI’] enthält nicht die vollständige URL, daher solltest du nur /wp-admin/ ersetzen. Bei deinem Beispiel:

 $_SERVER['REQUEST_URI'] = str_replace("/wp-admin/", "/blog/wp-admin/",
                                            $_SERVER['REQUEST_URI']);

  • 6 Jahre später und es ist immer noch aktuell. das hat mir geholfen, mein Problem mit meinem Blog auf Kinsta zu lösen. danke @sdocio!

    – Miro

    15. Februar 2021 um 13:29 Uhr

  • Mann, das ist April 2021 und du hast mir 2 Wochen gespart, WP für diesen Scheiß zu debuggen

    – Eugen

    7. April 2021 um 10:55 Uhr

  • werden hier Schlüsselwörter hinzufügen, um in Zukunft andere zu speichern: WordPress, AWS, Cloudfront, /blog, Unterordner, Unterverzeichnis

    – Eugen

    7. April 2021 um 10:56 Uhr

  • Die Hauptursache scheint WordPress zu sein, das seine Einstellungen nicht immer respektiert. core.trac.wordpress.org/ticket/53998

    – otwch

    3. Januar um 8:54

1354450cookie-checkWordPress hinter Reverse-Proxy-Admin-Problemen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy