0

このようにリバースプロキシを設定しています。

http://example.com/3rdpartywebsite/ -> http://internal.addr/3rdpartywebsite/

そのため、example.com へのリクエストは、内部ネットワーク上の Web サイトにリバース プロキシされます。

問題は、サードパーティの Web サイトが jquery であり、ブラウザーに読み込まれるとホストに要求が返されることです。これらのリクエスト (ロードされたアプリから) は http://example.com/3rdpartyProxy/ にリダイレクトされず、代わりにhttp://example.com/にリダイレクトされます

これは、標準の getHttpObject() が返すものと関係があるようです。URL の「3rdpartyProxy」部分を認識せず、単純にhttp://example.com/を返します。

Apache からの私のリバース プロキシ設定の内容は次のとおりです。

ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
        Order allow,deny
        Allow from all
</Proxy>
ProxyPass /3rdpartywebsite/ http://internal.addr/
ProxyPassReverse /3rdpartywebsite/ http://internal.addr/

ここでどこを見始めるべきかさえよくわかりません。問題はリバース プロキシにあるのでしょうか、それとも Web サイト自体を調べて問題を確認する必要がありますか?

4

1 に答える 1

0

私は自分の質問に答えます!わーい。

最終的にこれを機能させる方法は、次のサイト構成を使用することです。リバース プロキシを使用し、その後に書き換えます。私の場合、書き換えはサードパーティ サービスへの cgi-bin 呼び出しの 1 回の書き換えで処理できるほど単純でした。

サードパーティのサービスが機能する正しい方法は相対パスを使用することですが、絶対パスが使用されていたため、この解決策を余儀なくされました。

書き換えエンジンがリバース プロキシの前に有効になる場合、これは機能しないことに注意することが重要です。リンク切れになってしまいます。

仮想ホスト構成:

<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>
于 2013-02-28T12:41:32.200 に答える