2012-03-08 14 views
0

サーバのIPアドレスを使用しているときに、ディレクトリリストの作成を停止できません。関連するサイト利用可能なファイルを次のように編集しようとしました。Apacheディレクトリ一覧

<VirtualHost *:80> 
    JkMount /* default 
    ServerName example.co.uk 
    ServerAlias www.example.co.uk 
    ServerAdmin [email protected] 
    DocumentRoot /var/www/example.co.uk/public_html 
    ErrorLog /var/www/example.co.uk/logs/error.log 
    CustomLog /var/www/example.co.uk/logs/access.log combined 
    <Directory /var/www/example.co.uk/public_html> 
     Options -Indexes 
    </Directory> 
</VirtualHost> 

...この形式のURLを使用してサーバーにアクセスすると、public_htmlフォルダの内容が一覧表示されます。

http://192.168.1.99/example.co.uk/public_html

私はまた次を含めるように/etc/apache2/apache.confでのApacheの設定ファイルを修正しようとしています。

<Directory /> 
    Options -Indexes 
</Directory> 

..しかし、喜びはありません。

私はTomcatを使用しています。アクセスを拒否するにはWEB-INFフォルダが必要です。そうではないので、.classファイルはすべてダウンロードできます。

私はこれをどのように修正できるか知っていますか?

ありがとう

答えて

0

これは、VirtualHost設定には到達せず、デフォルトの仮想ホスト設定に到達することを意味します。

あなたは2つのオプション(少なくとも)持っている:あなた、あなたと同様の設定でIPベースのバーチャルホスト

1、あなたは

2を一覧表示制限したいディレクトリに.htaccessファイルを入れ、セットアップを名前ベースのバーチャルホスト

あなたは場所インを持っている必要がありますが

<Directory /> 
    Options -Indexes 
</Directory> 

を置くことを言いましたおしゃべりディレクトリそこに

+0

ありがとうございましたrkosegi!あなたがアドバイスしたように私は自分のapache.confファイルを修正しました。私はもはやディレクトリリストを見ることができません。 私はまだ.classファイルにナビゲートしてダウンロードすることができます...これをやめる方法を知っていますが、ファイルがTomcatで期待どおりに実行できるようにしますか? ありがとう –

+0

こんにちはrkosegi、私もあなたの言ったようにIPベースの仮想ホストをセットアップし、それは私の他の問題も解決しました。 IPアドレスがtomcat内の別のサイトにリダイレクトされるため、.classファイルにアクセスできなくなりました。あなたの助けをありがとう。 –

0

最後に/ *を追加するとどうなりますか?

<Directory /var/www/example.co.uk/public_html/*> 
     Options -Indexes 
</Directory> 

更新: または、VirtualHostディレクティブの外にエントリを追加してみてください。

+0

アッティラにお返事いただきありがとうございますが、そこには喜びはありません。あたかもサイト利用可能なファイルが無視されているかのようです! –

1

これはちょっと変わった。あなたはApache Tomcat Serverの前にApache HTTPDを持っていますか?

この場合、Apache HTTPDは、Apache Tomcatファイルが存在するディレクトリを指してはいけません。両方の間のコミュニケーションは、プラグインではなくプロキシとして見ることができます。

この目的のためにmod_proxy_ajpを使用した経験があります。しかし、.classファイルをダウンロードしてweb.xml(パニックモードをオフにする)(パニックモードをオフにする)が可能な場合、何かがひどく間違っています。

+0

こんにちは、お返事ありがとうございます。 rkosegiが提案した '仮想IP'方式を使用して問題を修正しました。 URLの先頭にサーバーのIPアドレスを使用したときにしかファイルに直接アクセスできませんでした。 "Apache Tomcatサーバーの前にApache HTTPDがありますか?" - わかりません!私はUbuntuを使用しています。私はいつものようにパッケージをインストールしました。私はこれをどのように見つけ出すでしょうか?私はApacheとTomcatが別々のエンティティであるという印象を受けています。別々に再起動する必要があるからです。これは普通ですか? –

+0

Hallooo これは正常です。 Apache HTTPDはWebサーバーです。強力で拡張性があり柔軟性のある(認証、改造、php/perl/phyton/...)が、Javaアプリケーション用のサーブレットコンテナとしては機能しません。したがって、Apache Tomcatがあります。どちらもapache.orgから来ていますが、それらを混ぜてはいけません - それらは完全に分離されています。これは、Apacheが単一の製品ではなく、基礎であるためです。 通常、2つのプロセスを実行する必要があります。ポート80でリッスンするWebサーバーは、http://要求と、別のポートで動作するtomcatサーブレットコンテナに応答します。 – wemu

+0

ウェブサーバーは、特定の要求をtomcatにリダイレクトするプロキシです。 IPアドレスを使用してWebサーバーにアクセスするとTomcatディレクトリに移動する場合、デフォルトのドキュメントルートがその場所を指していると思いますが、これは正常ではありません。 Apache HTTPDが、公開可能なファイルのみを含むディレクトリを指すように設定します。そして、その場所には、風変わりな人が応答するようにmod_proxy_ajpまたはmod_proxyを設定します。この場合、ドキュメントルートは必要ありません。 – wemu

関連する問題