
私は Apache にかなり不慣れで、以前は SQL Server データベース管理者でしたので、無知な点をお許しください。このプロジェクトに必要な DOD STIG に準拠するように Apache Web サーバー (HP-UX フレーバー) をセットアップしようとしています。httpd.conf ファイル内に次の項目を設定しました。
LoadModule dir_module modules/mod_dir.so
DirectoryIndex dft_index.html
このdft_index.html
ファイルの権限は 666 が所有しており、ファイルroot:sys
を参照すると正常に表示されます。http://myservername/dft_index.html
しかし、参照しようとするとhttp://myservername/cgi-bin/
403 エラーが表示されます。エラー ログには、ブラウザがファイルにリダイレクトするのではなく、cgi-bin ディレクトリ自体にアクセスしようとしていることが示されていますdft_index.html
。
また、同じ結果で.htaccess
ファイルを作成しDirectoryIndex dft_index.html
て設定してみました。AllowOverride = ALL
答え1
のDirectoryIndex
指令は制御しないアクセスディレクトリの内容に対するアクセス権は通常、Directory
アイテム。
たとえば、エラー ログ/var/log/httpd/error.log
(システムによって異なります) を見ると、次のメッセージを含むエラーが表示される場合があります。
attempt to invoke directory as script
そのためにドキュメンテーション言う
これは、Apache が
ScriptAlias
またはで構成されSetHandler
、ディレクトリ パスの要求が行われたときに発生します。問題は、このような状況では、特定のパスの下にあるすべてのリソースが実行可能と見なされることです。これを回避して を
DirectoryIndex
再び機能させるには、または をスタンザAddHandler
内で使用します。Options
ExecCGI
SetHandler
<Files>
また、 をオフにして、オプション内でScriptAlias
を使用して同等のものを復元することで、役立つと思われる例が示されています。AddHandler cgi-script cgi pl
Directory