Wordpress se ejecuta en el error Nginx Loadbalancer "La página no se redirige correctamente"

Wordpress se ejecuta en el error Nginx Loadbalancer "La página no se redirige correctamente"

Entonces tengo esta configuración para mi WordPress.

Todos los servidores se ejecutan en Centos 7 MariaDB 10.4.17 Php-FPM 7.4 PHP 7.4 NginX

Servidor 1, el servidor de equilibrio de carga frontal Servidor 2-3-4 la aplicación wordpress servida con NginX Servidor 4 MariaDB

La configuración del equilibrio de carga de Nginx funciona bien con info.php estándar en cada uno de los servidores 2-3-4. Cambian de turno usando el round robin.

WordPress por sí solo funciona bien en el servidor 2-3-4. Tengo que cambiar la URL del sitio y la URL de inicio de WordPress en la base de datos de wp-options para reflejar la dirección IP del servidor. Entonces, por ejemplo, si estoy probando el servidor 2 de wp, la URL del sitio y la URL de inicio apuntan al servidor 2.

En el momento en que combiné todos los servidores 2-3-4 bajo LB con WordPress, recibí este error "La página no se redirige correctamente". No estoy muy seguro de si es necesario realizar ciertas configuraciones para que WP funcione bajo el balanceador de carga de Nginx. ¿Algún consejo sobre cómo solucionar el problema? ¿Por favor ayuda?

Mi configuración de LB Nginx.

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

}
}

Mi configuración wp de Wordpress

<?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']);

Configuración de NginX en el servidor backend

# 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;
        }

    } 

}

información relacionada