web-dev-qa-db-ja.com

nginxに常に自動インデックスを作成し、index.htmlファイルを無視するように強制しますか?

Nginxにindex.htmlファイルを無視させようとしていますが、alwaysautoindexモジュールのディレクトリリストを表示します。

index行を削除しても、nginxはデフォルトでindex.htmlファイルを提供するため、これは解決策ではありません。

同様の質問 Stack Overflowで尋ねられました ですが、そのような解決策が存在する場合、偽のファイル名を発明することを含まない解決策を探しています(スレッドがトピックから外れていることは言うまでもありません)。

indexディレクティブを変更して、nginxにインデックスファイルを表示しないように指示するにはどうすればよいですか?

indexディレクティブを削除する代わりに、存在することが合理的に予想されない名前に設定して、どのファイルとも一致しないようにする必要があります。

例えば:

index X6XewZMsmreGIxx1lCdp0Yo1X4qHTivW;

あなたはそうしないかもしれませんlikeこの解決策。少し上品ではありません。しかし、それはうまく機能し、あなたが望むことを正確に実行しますが、他には何もしません。

1
Michael Hampton

Indexディレクティブを削除(コメントアウト)します。たとえば、Debian nginxパッケージでは、autoindex(またはfancyindex)はディレクトリインデックスを試行します。

別の方法として、偽のインデックスファイルはエレガントではありませんが、高価でもありません。おそらく、ファイルが存在しないことを確認するために必要なシステムコールは数回だけです。

0
John Mahowald