NGINX - 代理到不同的 Wordpress 网站,同时保留 URL

NGINX - 代理到不同的 Wordpress 网站,同时保留 URL

我目前有两个 WORDPRESS 网站位于 NGINX 代理缓存后面:

htxtp://local.example.com htxtp://local.example.org

我想从第一个站点访问 URL,但从第二个站点提供服务,同时不丢失第一个站点的 URL 结构(以允许 example.org 查看 example.com 的 cookie)。

例如:

我想:

htxtp://local.example.com/somepage/

代理建立于以下位置的页面:

htxtp://local.example.org/somepage/

但我不希望 URL 是 htxtp://local.example.org。

我的NGINX配置如下:

server {
   listen      80;
   server_name local.example.com;
   access_log  logs/local.example.com.access.log;
   error_log   logs/local.example.com.error.log;


    location /somepage {
        proxy_pass  http://localhost:8080;

        proxy_redirect off;
        proxy_buffering off;
        proxy_set_header        Host            local.example.org;
        proxy_set_header        X-Real-IP       $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    location / {
        proxy_pass  http://localhost:8080;
        proxy_redirect off;
        proxy_buffering off;
        proxy_set_header        Host            local.example.com;
        proxy_set_header        X-Real-IP       $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

有什么建议吗?我正在尝试找出实际重定向发生的位置。

答案1

允许 website2.com 查看 website1.com 的 cookie

由于浏览器安全问题,您不能这样做。

简介很有趣:http://www.innovativephp.com/sharing-cookies-across-multiple-domains-hosted-on-different-servers/

假设您有一个名为 www.example.com 的网站和 www.example.com 托管在同一台服务器上。尽管两个网站都在同一台服务器上,但域名不同,因此您会发现 Cookie 在另一个顶级域中不起作用。所以我们不能在这两个网站之间使用 Cookie。但是,如果您有一个名为 www.example.com 的网站和名为 www.app.example.com、www.demo.example.com 的子域,您可以为所有 3 个域设置 Cookie 值并在每个域之间进行通信。

答案2

尝试使用 proxy_pass 将位置 htxtp://local.example.com/somepage/ 传递给 .org 版本:

server { #local.example.com server block 
server_name local.example.com;
   location /somepage {
     proxy_pass http://local.example.org;
   }
}

相关内容