私は非常にシンプルなファイルサーバーシステムを設定しています。 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