-1

このフォーラムでも、このエラーに関するエントリが少なくとも 12 個見つかりました。すべては基本的に、内部<Directory></Directory>に「すべて拒否」ディレクティブがあり、「許可」ディレクティブはないと言っています。

バックエンドのTomcatサーバーによってオンザフライで作成されるため、一致する固定ディレクトリを書き込むことができません。

「myUrl/test/request/user1/1234567890/download」と入力すると、

403 Forbidden: /test/request/user1/1234567890/download にアクセスする権限がありません。

httpd エラー ログには次のように表示されます。

[error] [client xxx.xx.xx.xxx] client denied by server configuration: /data/test, referer: myUrl/test/request/user1/1234567890

「test」で始まる部分は、バックエンドの tomcat によって作成されます。「user1」と「1234567890」は異なりますが、ディレクトリ構造の他の部分は固定されたままです。

私のhttpd.confには、次のものがあります。

<VirtualHost *:80>    
    DocumentRoot /data
    ---
    ---
    RewriteRule ^/test - [L]
    ---
</VirtualHost>

これを解決するにはどうすればよいですか?別のものを作成して別のドキュメント ルートを作成したとしても、正規表現が必要になります。外のどこかで、私はこれを試しました:

<Directory "/data/test/request/*/*/download">
    Options -Indexes -FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

しかし、成功しません。

「ajp」を使用してバックエンドのTomcatと通信し、必要なモジュールを配置し、バックエンドのTomcatサーバー(8009)にtelnetで接続できます。したがって、ajp 通信の問題ではないはずです。

上記の URL の「テスト」部分は、実際には tomcat の /webapps ディレクトリ内の「コンテキスト」です。その「テスト」コンテキストの所有者は tomcat ですが、全員に読み取り権限を追加しました。

4

1 に答える 1

-1

まず、「/」を「すべて拒否」する必要がありました。

Directory  
    Deny from all
/Directory

その場合のみ、「/data」に対して「すべて許可」

Directory /data
    ---
    ---
    Allow from all
/Directory

次に、RewriteRule、Redirect、ProxyPass、ProxyPassReverse を

VirtualHost *:80 
/VirtualHost

そしてそれはうまくいきました!

于 2012-12-10T09:45:12.760 に答える