1. ホーム
  2. nginx

[解決済み] ファイルブラウザモードを有効にするためのnginxの設定方法は?

2023-01-06 04:19:29

質問

URLを入力するときに、以前にも見たことがあります。 http://test.com/test/ と入力すると、html ページが表示されるのではなく、与えられた場所にあるすべてのファイルをブラウズするための 'ファイル ブラウザ' のようなインターフェイスが表示されるのです。

多分、nginxモジュールがロケーションコンテキストで有効になっているのだと思います。

その nginx.conf ファイルを作成します。

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  122.97.248.252;
                location /test {
                        root /home/yozloy/html/;
                        autoindex on;
                }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

を更新し error.log

2012/05/19 20:48:33 [error] 20357#0: *72 open() "/home/yozloy/html/test" failed (2: No such file or directory), client: 125.43.236.33, server.NetSupport: 2.0.0.0, server: 122.97.248.252、request: "GET /test HTTP/1.1", host: "unicom2.markson.hk

私は場所を誤解しなければなりません /test と入力したときのことを指しているのだと思っていました。 http://example.com/test と入力すると、ルート辞書にアクセスします。 /home/yozloy/html/

どのように解決するのですか?

あなたは、次のことを試してみてください。 ngx_http_autoindex_module を使ってみてください。 .

設定する autoindex オプションに on . これは off をデフォルトで使用します。

あなたの設定例で大丈夫です

location /{ 
   root /home/yozloy/html/; 
   index index.html; 
   autoindex on;
}

なし autoindex で終わるリクエストに対して 403 エラーが発生するはずです。 / を持たないディレクトリでは index.html ファイルがないディレクトリに適用されます。このオプションを使用すると、単純なリストが表示されるはずです。

<html>
<head><title>Index of /</title></head>
<body bgcolor="white">
<h1>Index of /test/</h1><hr><pre><a href="../">../</a>
<a href="test.txt">test.txt</a>                 19-May-2012 10:43            0
</pre><hr></body>
</html>

編集します。 テストへの参照を削除するためにリストを更新しました。