サブディレクトリからファイルを提供するようにnginxを設定する

サブディレクトリからファイルを提供するようにnginxを設定する

私は非常にシンプルなファイルサーバーシステムを設定しています。 nginxをインストールし、/homeユーザーのホームディレクトリにあるファイルを提供するようにルートディレクトリを設定しました。

http://12.34.56.78/user1/testfile.binところで、ブラウザを使ってファイルをダウンロードしようとすると、「403 Forbidden」と表示されます。ただし、ブラウザを使用して接続すると、http://12.34.56.78/私が入れたデフォルトのインデックスページが表示されます/home/

nginxにユーザーディレクトリにファイルを提供させる方法は?例えば

/home/user1

/home/user2

また、ルートディレクトリを除外したい場合

/home

およびシステムファイル

.bash_history .bash_profile .bashrc (例:名前がドットで始まるすべてのファイル)

提供されるファイルから?

ベストアンサー1

Nginxにはユーザーファイルを読み取る権限がありません。すべてのユーザーファイルをネットワークに保存することは非常に悪い考えです。

より良いアイデアは専用カタログを提供ユーザーのホームディレクトリにあります。

wwwアクセス時に各ユーザーのフォルダ内のフォルダを使用できるようにするには、/<USER>次の場所を使用します。

location ~ ^/(.+?)(/.*)?$ {
  alias /home/$1/www$2;
  index  index.html index.htm;
  autoindex on;
}

また、Nginxがこのディレクトリにアクセスできるようにする必要があります。

$ chmod 0755 /home/$USER/www

おすすめ記事