Wordpress läuft auf Nginx Loadbalancer-Fehler „Die Seite wird nicht richtig umgeleitet“

Wordpress läuft auf Nginx Loadbalancer-Fehler „Die Seite wird nicht richtig umgeleitet“

Also habe ich dieses Setup für mein WordPress.

Alle Server laufen auf Centos 7 MariaDB 10.4.17 Php-FPM 7.4 PHP 7.4 NginX

Server 1, der Front Load Balancing Server Server 2-3-4 die WordPress-Anwendung, die mit NginX betrieben wird Server 4 MariaDB

Das Nginx-Loadbalance-Setup läuft mit Standard-info.php auf jedem der Server 2-3-4 einwandfrei. Sie wechseln im Round Robin-Verfahren.

WordPress selbst läuft auf Server 2-3-4 einwandfrei. Ich muss die Site-URL und die Home-URL von WordPress in der WP-Options-Datenbank ändern, um die IP-Adresse des Servers widerzuspiegeln. Wenn ich also beispielsweise WP-Server 2 teste, zeigen die Site-URL und die Home-URL auf Server 2.

Als ich alle Server 2-3-4 unter dem LB mit WordPress kombinierte, bekam ich diesen Fehler „Die Seite wird nicht richtig umgeleitet“. Ich bin mir nicht ganz sicher, ob bestimmte Einstellungen vorgenommen werden müssen, damit WP unter dem Nginx-Load Balancer funktioniert. Gibt es einen Rat, wie man das Problem beheben kann? Bitte helfen Sie mir?

Meine LB Nginx-Konfiguration.

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
include /etc/nginx/conf.d/*.conf;

events {
    worker_connections 1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    root         /var/www/wp;

    sendfile        on;
    keepalive_timeout  65;



log_format upstreamlog '$server_name to : $upstream_addr [$request] '
'upstream_response_time $upstream_response_time '
'msec $msec request_time $request_time';

upstream big_server_com {
    ip_hash;
    server 192.168.1.32;
    server 192.168.1.33;
    server 192.168.1.34;



}

    server {
       server_name myserver.net wp.myserver.net;

#acces_log /var/log/nginx/access.log upstream.log;

    location ~ \.php$ {

        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;


     fastcgi_pass   unix:/run/php-fpm/wp.sock;
        fastcgi_index index.php;
     proxy_pass      http://big_server_com;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include /etc/nginx/fastcgi_params;
    try_files   $uri $uri/ /index.php?$query_string;
            }
            index  index.php;
        error_page  404              /404.html;
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/myserver.net/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/myserver.net/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
#    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
    ssl_dhparam /etc/ssl/certs/dhparam.pem; # managed by Certbot

}     
   server {
    if ($host = myserver.net) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    if ($host = myserver.net) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


        listen       80;
     server_name myserver.net wp.myserver.net;
    return 404; # managed by Certbot

}
}

Meine Wordpress wp-config

<?php

define( 'DB_NAME', 'wordpress' );

/** MySQL database username */
define( 'DB_USER', 'admin' );

/** MySQL database password */
define( 'DB_PASSWORD', '*************' );

/** MySQL hostname */
define( 'DB_HOST', '192.168.1.34' );

/** Database Charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );

/** The Database Collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );
    define( 'AUTH_KEY',         'put your unique phrase here' );
define( 'SECURE_AUTH_KEY',  'put your unique phrase here' );
define( 'LOGGED_IN_KEY',    'put your unique phrase here' );
define( 'NONCE_KEY',        'put your unique phrase here' );
define( 'AUTH_SALT',        'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT',   'put your unique phrase here' );
define( 'NONCE_SALT',       'put your unique phrase here' );

/**#@-*/


$table_prefix = 'wp_';
define( 'WP_DEBUG', false );

/* That's all, stop editing! Happy publishing. */

/** Absolute path to the WordPress directory. */
if ( ! defined( 'ABSPATH' ) ) {
    define( 'ABSPATH', __DIR__ . '/' );
}

/** Sets up WordPress vars and included files. */
require_once ABSPATH . 'wp-settings.php';


if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false) 
$_SERVER['HTTPS']='on';

define('WP_SITEURL', 'https://' . $_SERVER['HTTP_HOST']);

define('WP_HOME', 'https://' . $_SERVER['HTTP_HOST']);

NginX-Konfiguration auf dem Backend-Server

# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
include /etc/nginx/conf.d/*.conf;

events {
    worker_connections 1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    root         /var/www/wp;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
     listen 192.168.1.32:80;
        server_name  wp2.myserver.net;
    location ~ \.php$ {
     fastcgi_pass   unix:/run/php-fpm/wp.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include /etc/nginx/fastcgi_params;
    try_files   $uri $uri/ /index.php?$query_string;
            }
            index  index.php;
        error_page  404              /404.html;
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }

    } 

}

verwandte Informationen