nginx反向代理apache2网站:url返回与代理服务器不对应

nginx反向代理apache2网站:url返回与代理服务器不对应,nginx,apache2,url-routing,reverse-proxy,Nginx,Apache2,Url Routing,Reverse Proxy,我正在寻找一些技巧如何做我现在想做的事 下面是我应该做的: Nginx服务器代理(srvrp)->Apache2(srvdeba) 以下是nginx网站srvrp的配置: server { server_name www.egloff-j-quest-etna.nx; location / { proxy_pass http://srvdeba.egloff-j-quest-etna.nx; p

我正在寻找一些技巧如何做我现在想做的事

下面是我应该做的: Nginx服务器代理(srvrp)->Apache2(srvdeba)

以下是nginx网站srvrp的配置:

server {
        server_name www.egloff-j-quest-etna.nx;

        location / {
                 proxy_pass http://srvdeba.egloff-j-quest-etna.nx;
                 proxy_redirect off;
                 proxy_set_header X-Real-IP $remote_addr;
                 proxy_set_header Host $proxy_host;
                 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                 proxy_set_header X-NginX-Proxy true;
        }
}
以下是srvdeba站点启用网站的配置:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName www.srvdeba.egloff-j-quest-etna.nx
    ServerAlias *srvdeba.egloff-j-quest-etna.nx

    DocumentRoot /opt/wordpress
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /opt/wordpress/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

服务器管理员webmaster@localhost
服务器名www.srvdeba.egloff-j-quest-etna.nx
ServerAlias*srvdeba.egloff-j-quest-etna.nx
DocumentRoot/opt/wordpress
选项如下符号链接
不允许超限
选项索引跟随符号链接多视图
不允许超限
命令允许,拒绝
通融
ErrorLog${APACHE_LOG_DIR}/error.LOG
日志级别警告
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合
目前,这是可行的,但并非完全可行,问题如下: 通过代理加载网站时,网站上的所有链接都位于以下表格中: 我希望它们对应于: www.egloff-j-quest-etna.nx

因此,我提出了两种解决方案,第一种是使用ngx_http_sub_模块 第二个是配置apache2,这样他就知道自己正在被代理,并且可以在请求通过代理服务器完成时重写URL。 当在没有代理服务器的情况下访问srvdeba时,srvdeba必须工作。 所以我需要你告诉我什么是最好的解决方案


提前感谢您的回答。

所以,很久以前我终于找到了这个问题的答案。 我想我最好和你分享一下

问题不是来自apache或nginx。 问题来自于网站生成错误的URL,因为他不知道自己正在被代理。
因此,如果您有类似的问题,您应该确保网站知道他正在被代理,并生成正确的URL以满足客户端请求。

好吧,我尝试了ngx_http_sub_模块,但它根本不起作用。也许我做错了什么。现在我将尝试配置apache2。