Wordpress 在 Nginx Loadbalancer 上运行出现错误“页面未正确重定向”

Wordpress 在 Nginx Loadbalancer 上运行出现错误“页面未正确重定向”

所以我为我的 wordpress 进行了这样的设置。

所有服务器均在 Centos 7 MariaDB 10.4.17 Php-FPM 7.4 PHP 7.4 NginX 上运行

服务器 1,前端负载平衡服务器服务器 2-3-4,使用 NginX 服务的 wordpress 应用程序服务器 4 MariaDB

Nginx 负载平衡设置在 2-3-4 服务器上的每个服务器上都使用标准 info.php 运行良好。它们使用循环法进行切换。

wordpress 本身在服务器 2-3-4 上运行良好。我必须在 wp-options DB 中更改 wordpress 的站点 URL 和主页 URL,以反映服务器的 IP 地址。例如,如果我正在测试 wp 服务器 2,则站点 URL 和主页 URL 指向服务器 2。

当我将 LB 下的所有服务器 2-3-4 与 wordpress 合并时,我收到此错误“页面未正确重定向”。我不太确定是否需要进行某些设置才能使 WP 在 Nginx 负载平衡器下工作。有什么建议可以解决这个问题吗?请帮忙?

我的 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

}
}

我的 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 配置

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

    } 

}

相关内容