Apache 未代理来自加载网站的反向代理请求

Apache 未代理来自加载网站的反向代理请求,apache,reverse-proxy,Apache,Reverse Proxy,我有一个像这样设置的反向代理 -> 因此,对example.com的请求被反向代理到内部网络上的网站 问题在于3rdpartywebsite是jquery,一旦加载到浏览器中,它就会运行返回主机的请求。这些请求(来自加载的应用程序)不会被重定向到,而是将被重定向到 这似乎与标准getHttpObject()返回的内容有关。它不知道url的“3rdpartyProxy”部分,只返回 以下是apache中我的反向代理配置的内容: ProxyRequests Off ProxyPreserveHost

我有一个像这样设置的反向代理

->

因此,对example.com的请求被反向代理到内部网络上的网站

问题在于3rdpartywebsite是jquery,一旦加载到浏览器中,它就会运行返回主机的请求。这些请求(来自加载的应用程序)不会被重定向到,而是将被重定向到

这似乎与标准getHttpObject()返回的内容有关。它不知道url的“3rdpartyProxy”部分,只返回

以下是apache中我的反向代理配置的内容:

ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
        Order allow,deny
        Allow from all
</Proxy>
ProxyPass /3rdpartywebsite/ http://internal.addr/
ProxyPassReverse /3rdpartywebsite/ http://internal.addr/
ProxyRequests关闭
代理主机
命令允许,拒绝
通融
ProxyPass/3rdpartywebsite/http://internal.addr/
ProxyPassReverse/3rdpartywebsite/http://internal.addr/

任何帮助都将不胜感激,我甚至不确定从哪里开始寻找。反向代理是否有问题,或者我是否应该查看网站本身以了解问题?

我将回答我自己的问题!耶

我最终实现这一点的方法是使用以下站点配置。我使用反向代理,然后进行重写。在我的例子中,重写非常简单,只需重写对第三方服务的cgi bin调用即可

第三方服务的正确工作方式是使用相对路径,但由于使用了绝对路径,我被迫使用此解决方案

请务必注意,如果重写引擎在反向代理之前生效,则此操作将不起作用。你将以一个死链接结束

虚拟主机配置:

<VirtualHost *:80>
    ServerAdmin     webmaster@host.net<br>
    ServerName      host.net
    ServerAlias     www.host.net
    DocumentRoot    /var/www/
    DirectoryIndex  index.php index.html

    ProxyRequests Off
    ProxyPreserveHost On
    <Proxy *>
            Order allow,deny
            Allow from all
    </Proxy>
    ProxyPass /3rdPartyWebsite/ http://192.168.0.1/
    ProxyPassReverse /3rdPartyWebsite/ http://192.168.0.1/


    #RewriteLog /home/rfmondial/rewrite.log
    #RewriteLogLevel 9

    <FilesMatch \.php$>
            SetHandler application/x-httpd-php
    </FilesMatch>

    <Directory />
            AllowOverride none
            order deny,allow
            allow from all
    </Directory>

    <Directory /var/www>
            Options FollowSymLinks
            allow from all

            RewriteEngine On
            #http://host/ --> http://domain/3rdPartyWebsite/ (default ROOT in Tomcat) a
            RewriteCond !%{REQUEST_URI} !nt-gui/
            RewriteRule ^(cgi-bin.*)$ 3rdPartyWebsite/$1 [L]
    </Directory>
</VirtualHost>

服务器管理员webmaster@host.net
ServerName主机.net ServerAlias www.host.net DocumentRoot/var/www/ DirectoryIndex.php index.html 代理请求关闭 代理主机 命令允许,拒绝 通融 ProxyPass/3rdPartyWebsite/http://192.168.0.1/ ProxyPassReverse/3rdPartyWebsite/http://192.168.0.1/ #RewriteLog/home/rfmondial/rewrite.log #重写日志级别9 SetHandler应用程序/x-httpd-php 不允许超限 命令拒绝,允许 通融 选项如下符号链接 通融 重新启动发动机 #http://host/ --> http://domain/3rdPartyWebsite/ (Tomcat中的默认根目录)a 重写秒!%{请求_URI}!新界图形用户界面/ 重写规则^(cgi bin.*)$3rdPartyWebsite/$1[L]