Wordpress Multisite hinter NGINX Proxy Manager
Hallo Zusammen.
Ich betreibe derzeit eine WP Multisite (Subdomain) auf einem LEMP Stack auf einem meiner Server. Da ich derzeit nur eine öffentliche IP Adresse besitze, betreibe ich auf einem anderen Server einen Container mit NGINX Proxy Manager (Nginx als Reverse Proxy mit eingebautem ACME und praktischem Web Interface). Mein Problem liegt nun darin, dass nur die Hauptseite der Multisite Installation erreichbar ist. Alle anderen Seiten werden immer auf die Hauptseite umgeschrieben, obwohl das nirgendwo eingestellt wurde. Ich habe nach etlichen Stunden recherche und ausprobieren das Problem nicht gelöst bekommen. Bitte keine Kommentare wie "Verwende keine Multisite", "Nimm doch Apache" oder "HA Proxy ist viel besser". Ich kann nicht nicht ohne erheblichen Aufwand das bisherige Konzept umstellen.
Hier noch die Reverse Proxy config:
Vielen Dank für die Hilfe.
LG Leo
Ich betreibe derzeit eine WP Multisite (Subdomain) auf einem LEMP Stack auf einem meiner Server. Da ich derzeit nur eine öffentliche IP Adresse besitze, betreibe ich auf einem anderen Server einen Container mit NGINX Proxy Manager (Nginx als Reverse Proxy mit eingebautem ACME und praktischem Web Interface). Mein Problem liegt nun darin, dass nur die Hauptseite der Multisite Installation erreichbar ist. Alle anderen Seiten werden immer auf die Hauptseite umgeschrieben, obwohl das nirgendwo eingestellt wurde. Ich habe nach etlichen Stunden recherche und ausprobieren das Problem nicht gelöst bekommen. Bitte keine Kommentare wie "Verwende keine Multisite", "Nimm doch Apache" oder "HA Proxy ist viel besser". Ich kann nicht nicht ohne erheblichen Aufwand das bisherige Konzept umstellen.
Hier noch die Reverse Proxy config:
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass $forward_scheme://$server:$port$request_uri;
proxy_redirect off;
proxy_buffering on;
proxy_request_buffering on;
}
Vielen Dank für die Hilfe.
LG Leo
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 7914457802
Url: https://administrator.de/contentid/7914457802
Ausgedruckt am: 19.11.2024 um 01:11 Uhr
14 Kommentare
Neuester Kommentar
Moin,
Poste doch einmal Screenshots von der Proxy Host Konfiguration im NPM. Das macht es allgemein einfacher für uns aus der Ferne.
Gruß,
Dani
Hier noch die Reverse Proxy config:
D.h. diese Konfiguration hast du in dem Proxy Host im NPM als erweitere Konfiguration hinterlegt? Unabhängig davon, aus welchen Grund. Sprich was funktioniert bei dir nicht, wenn du diese Custom Konfiguration weglässt?Alle anderen Seiten werden immer auf die Hauptseite umgeschrieben
Ändert sich wirklich im Browser die URL oder bleibt dir URL gleich aber du siehst den Inhalt der Hauptwebseite?Poste doch einmal Screenshots von der Proxy Host Konfiguration im NPM. Das macht es allgemein einfacher für uns aus der Ferne.
Gruß,
Dani
Moin,
MultiSite ist nach welcher Spielart konfiguriert? Subdomain oder Subdirectory?
.htaccess etc. richtig angepasst und hier alles beachtet?:
https://www.ionos.de/digitalguide/hosting/blogs/wordpress-multisite/
Gruß siddius
MultiSite ist nach welcher Spielart konfiguriert? Subdomain oder Subdirectory?
.htaccess etc. richtig angepasst und hier alles beachtet?:
https://www.ionos.de/digitalguide/hosting/blogs/wordpress-multisite/
Gruß siddius
Wow ja sorry, ja richtig nett hier ... Du willst ja Hilfe nicht wir.
Wenn Subdomain wurden die dann auch am Nginx beide angelegt?
https://www.nginx.com/blog/creating-nginx-rewrite-rules/
Wenn Subdomain wurden die dann auch am Nginx beide angelegt?
Bei NGINX gibt es keine .htaccess so fern ich weiß, deswegen kann ich sie auch nicht konfigurieren.
Dafür hat nginx Rewrite-Rules.https://www.nginx.com/blog/creating-nginx-rewrite-rules/
Moin,
Gruß,
Dani
Hier noch die Screenshots zur Config vom NPM:
deine Domains unter "Details" und "SSL" stimmen nicht überein. Bei "Details" fehlt eine Subdomain.Ich weiß nur leider nicht, wie ich das testen soll, da wenn ich direkt auf den Wordpress Webserver zugreife kein HTTPS habe und deswegen die Base URL falsch ist.
ändere temporär die Base URL und teste es anschließend mit HTTP. Das ist doch kein Beinbruch.Gruß,
Dani
Also ich habe das hier gerade mal mit einem plain nginx als reverse proxy und Wordpress auf einem Apache mit Multisite getestet (clean aufgesetzt). Funktioniert hier so ohne Probleme:
Hier der nginx Server Block (kein Nginx Proxy Manager nur eine plain nginx installation)
Apache Virtual Host
wp-config.php
.htaccess im Root von Wordpress
Hier der nginx Server Block (kein Nginx Proxy Manager nur eine plain nginx installation)
server {
listen 80;
server_name domain.tld sub1.domain.tld sub2.domain.tld;
location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_pass http://192.168.1.20:80;
}
}
Apache Virtual Host
<VirtualHost *:80>
ServerName domain.tld
ServerAlias *.domain.tld
DocumentRoot /usr/share/wordpress/
DirectoryIndex index.php index.html
ErrorLog /var/log/apache2/wp-error.log
TransferLog /var/log/apache2/wp-access.log
<Directory /usr/share/wordpress>
AllowOverride All
Options FollowSymLinks
Require all granted
</Directory>
</VirtualHost>
wp-config.php
// ...
define('WP_ALLOW_MULTISITE',true);
define('MULTISITE',true);
define('SUBDOMAIN_INSTALL', true );
define('DOMAIN_CURRENT_SITE', 'domain.tld' );
define('PATH_CURRENT_SITE', '/' );
define('SITE_ID_CURRENT_SITE', 1 );
define('BLOG_ID_CURRENT_SITE', 1 );
// ....
.htaccess im Root von Wordpress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
</IfModule>
Ich habe auch keine passenden Rewrite regeln gefunden.
Braucht es nicht, s.o. klappt hier im Test out of the box problemlos. Wenn bei dir nicht. Logging einschalten und ins Developer-Tab des Browsers schauen.Kann das vllt. mit Themes oder Plugins zusammenhängen, die dieses Verhalten hervorrufen?
Glaskugel.. Was du da schon so alles rein gepropft hast weiß doch hier keiner . Da hilft nur Ausschlussverfahren indem du Dienste und AddOns nacheinander deaktivierst und alle Sites und Anweisungen im Apache und nginx penibelst auf Rewrite prüfst die da nicht hin gehören, genauso wie sämtliche .htaccess Files.Da musst du selbst durch da kann dir hier verständlicherweise keiner helfen ohne dein System zu kennen.