nginx代理仅提供在Ngninx上运行的Wordpress数据的一部分

我有一个在第一个Nginx服务器(虚拟机A)上运行的Wordpress实例。 我可以在本地完美地工作,一切都可以很好地解决,并且可以通过我的网址www.corph.mouradcloud访问所有路径(例如/ wp-admin /,/ wp-content /,/ wp-includes /等)。 com

目前,我没有使用SSL,所以这是以后的问题:)

这是我的Nginx Web实例的配置:

        upstream php-wp {
            server            unix:/var/run/mouradcloud.sock;
        }

        server {
            listen            80;
            listen            [::]:80;
            server_name       www.corph.mouradcloud.com;
            root              /var/www/mouradcloud;

                index                     index.php;

                location / {
                        try_files     $uri $uri/ /index.php?$args;
                }

                location = /favicon.ico {
                        log_not_found off;
                        access_log    off;
                }

                location = /robots.txt {
                        allow                    all;
                        log_not_found off;
                        access_log    off;
                }

                location ~ .php$ {
                        include       fastcgi.conf;
                        fastcgi_pass  php-wp;
                }

                location ~* .(js|css|png|jpg|jpeg|gif|ico)$ {
                        expires       max;
                        log_not_found off;
                }
        }

我有第二台Nginx服务器,用作具有不同URL(虚拟机B)的代理。 经过一番谷歌搜索,我注意到需要添加一些其他参数以使PHP脚本通过代理通过。

这是代理nginx文件:

        server {
                listen         80;
                listen         [::]:80;
                server_name    www.mouradcloud.com;

                location / {
                proxy_pass http://www.corph.mouradcloud.com;
                proxy_set_header X-Forwarded-Host $host;
                proxy_set_header X-Forwarded-For $remote_addr;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Real-IP $remote_addr;
                }

        }

奇怪的是,当客户端使用Web浏览器调试器进行连接时,路径/ wp-content /,/ wp-includes /通过以下方式解析:

    www.corph.mouradcloud.com 

代替

    www.mouradcloud.com

这是调试器的屏幕截图,我们可以看到只有文档通过代理传递,脚本被拒绝,而脚本没有被拒绝,因为我通过请求中的代理传递了所有东西。

nginx代理仅提供在Ngninx上运行的Wordpress数据的一部分

我的猜测是我缺少一些参数。

我试图添加其他位置,例如/ wp-includes /,但最终却搞砸了所有内容...

我检查了所有SO线程,但到目前为止,没有人提供答案

leodear 回答:nginx代理仅提供在Ngninx上运行的Wordpress数据的一部分

搜索后,我找到了解决方案。太简单了...因此,我将共享配置的每个部分,以使人们将来不会浪费时间...

这是总体情况enter image description here

请记住,至于第一次尝试,我不会将SSL与“让我们加密”一起使用,我会保留它供以后使用。现在,这是简单的http。

在NGINX代理上,我使用此配置文件(/etc/nginx/sites-available/www.mouradcloud.com)创建一个站点

    server {
     listen 80;
     server_name www.mouradcloud.com;

    location / {
     proxy_pass http://www.corph.mouradcloud.com;
     sub_filter_once off;
     sub_filter 'www.corph.mouradcloud.com' 'www.mouradcloud.com';
     sub_filter_types *;
     }
    }

在VM Wordpress&Nginx上,这是wp-config.php(/var/www/mouradcloud/wp-config.php),我确实增加了两行:

    define('WP_SITEURL','http://www.corph.mouradcloud.com');
    define('WP_HOME','http://www.corph.mouradcloud.com');

最后,在我的WM WOrdpress&Nginx中,我没有更改nginx Web服务器的配置,并且仍然相同(/etc/nginx/sites-available/www.corph.mouradcloud.com):

        upstream php-wp {
            server            unix:/var/run/mouradcloud.sock;
        }

        server {
            listen            80;
            listen            [::]:80;
            server_name       www.corph.mouradcloud.com;
            root              /var/www/mouradcloud;

                index                     index.php;

                location / {
                        try_files     $uri $uri/ /index.php?$args;
                }

                location = /favicon.ico {
                        log_not_found off;
                        access_log    off;
                }

                location = /robots.txt {
                        allow                    all;
                        log_not_found off;
                        access_log    off;
                }

                location ~ .php$ {
                        include       fastcgi.conf;
                        fastcgi_pass  php-wp;
                }

                location ~* .(js|css|png|jpg|jpeg|gif|ico)$ {
                        expires       max;
                        log_not_found off;
                }
        }

不是Http正常工作,我将看一看https ...

本文链接:https://www.f2er.com/2624671.html

大家都在问