nginx proxy / apache

pom

Well-Known Member
Hallo,

ich habe folgendes Setup:

Main Server: Wordpress Jail 192.168.6.94
nginx -> Apache und php-fpm


Nginx terminiert die https Anfragen und leitet Traffic in verschiedene Jails weiter.

In der nginx proxy_setup Datei steht:
Code:
location /wp {
     proxy_pass http://192.168.6.94:80;
     ...
    }

D.h. server-name/wp wird in eine Jail umgeleitet. Dort liegt wp aber direkt im root des Webservers.

Ich habe das Problem, dass in der Jail z.B. folgendes im Apache Logfile auftaucht:
Code:
192.168.6.94 - - [26/Apr/2023:17:32:01 +0000] "GET /wp/ HTTP/1.0" 404 -

Den Ordner gibt es ja auch nicht, sodass 404 zurückgegeben wird. Scheint also logisch.

Ich dachte ich kann das in der Includes/wp.conf beim Apache so lösen:

Code:
Alias /wp /usr/local/www/apache24/data/
AcceptPathInfo On
<Directory /usr/local/www/apache24/data/>
    AllowOverride All
    Require all granted
</Directory>

Ist das so richtig?

Oder kann/soll ich nginx so konfigurieren, dass das /wp aus dem per fastcgi weitergeleiteten Pfad rausgeschnitten wird.

Ich habe schon viel rumprobiert und bin langsam am Verzweifeln.

Gruß,
Peter
 
Dort liegt wp aber direkt im root des Webservers.
Würde ich nicht machen. Lege es nach /usr/local/www/apache24/data/wp und dein Problem sollte sich lösen. Es ist außerdem übersichtlicher, solltest du irgendwann mal noch was anderes da drauf legen.

Das im logfile sagt ja deutlich, dass der nginx http://192.168.6.94/wp abfragt und dann 404 hingewatscht bekommt.

Also entweder wp umkopieren oder eben die config im nginx ändern /wp -> /
Ersteres halte ich aber für sinniger.
 
ok, habe alles nach wp kopiert.
Geht immer noch nicht.

Wenn ich ein index.php file z.B. mit folgendem Inhalt anlege bekomme ich die php Infos korrekt angezeigt.
Code:
<?php
phpinfo();
?>

Wenn ich das wordpress index.php File wieder hinlege kommt aber nur ein weißer Schirm und die 404.

Im index.php File des wordpress steht:
Code:
<?php
/**
 * Front to the WordPress application. This file doesn't do anything, but loads
 * wp-blog-header.php which does and tells WordPress to load the theme.
 *
 * @package WordPress
 */

/**
 * Tells WordPress to load the WordPress theme and output it.
 *
 * @var bool
 */
define( 'WP_USE_THEMES', true );

/** Loads the WordPress Environment and Template */
require __DIR__ . '/wp-blog-header.php';

Liegt das Problem an der letzten Zeile?
 
Wenn ich ein index.php file z.B. mit folgendem Inhalt anlege bekomme ich die php Infos korrekt angezeigt.
Dann stimmt zumindest mal die config seitens apache und nginx.

Liegt das Problem an der letzten Zeile?
Achso, kann man versuchen, klingt aber nur gut. require __DIR__ . '/wp/wp-blog-header.php';

Ich vermute allerdings, dass du keine virtual hosts im apache konfiguriert hast, sondern nur das default-folder /usr/local/www/apache24/data/. Dann müsstest du in allen .php files die Pfade ändern und das kann man vergessen.

Also Finger weg von der .php und so anpassen:
Code:
Alias /wp /usr/local/www/apache24/data/wp
AcceptPathInfo On
<Directory /usr/local/www/apache24/data/wp/>
    AllowOverride All
    Require all granted
</Directory>

Oder damit einen virtual host im apache einrichten.
 
Zurück
Oben