1

ネットワーク上に 2 つのサーバーがあります。1 つは外部 IP を持ち、もう 1 つは内部のみです。http://my.site.com/Motes/にアクセスすると、実際にはアドレス 192.168.1.102 の内部サーバーのルートに移動するようにサーバーをセットアップしました。

外向きサーバーの httpd.conf:

ProxyPass /Motes/ http://192.168.1.102/
ProxyPassReverse /Motes/ http://192.168.1.102/



<Proxy  http://192.168.1.102/*>
    Order allow,deny
    Allow from All
    AuthType Digest
    AuthName "Motes"
    AuthDigestDomain /
    AuthDigestProvider file
    AuthUserFile ps.wd
    AuthGroupFile group.file
    Require group usergroup
</Proxy>

これは、次を追加して内部サーバーでダイジェスト認証を有効にするまで機能します。

AuthType Digest
AuthName "Motes"
AuthDigestDomain / /Motes/
AuthDigestProvider file
AuthUserFile ps.wd
AuthGroupFile group.file
Require group usergroup

他の内部サーバー ルート .htaccess ファイルに。次に、私の内部サーバーは次のように不平を言います:

[Sat May 04 09:37:32 2013] [error] [client ***.***.***.***] Digest: uri mismatch - </Motes/> does not match request-uri </>

誰でもこれを修正する方法を知っていますか?

4

1 に答える 1

0

そのため、外部に面したサーバーが内部サーバーに直接プロキシする内部サーバーの新しい CNAME を追加することで、これを修正しました。本質的には、プロキシされた仮想ホストです。

<virtualhost *:80>
ServerName internal.site.com

ProxyPass / http://192.168.1.102:80/
ProxyPassReverse / http://192.168.1.102:80/
<Proxy http://192.168.1.102:80/* >
    Order allow,deny
    Allow from All
    Satisfy Any 
</Proxy>

</virtualhost>

次に、内部サーバーは質問のようにダイジェスト認証を実施します。

于 2013-05-04T18:32:31.773 に答える