保護されたフォルダー パスをマスクして、別の場所から提供されているように見せるにはどうすればよいですか?

保護されたフォルダー パスをマスクして、別の場所から提供されているように見せるにはどうすればよいですか?

画像を含む保護されたフォルダーを提供するために X-Accel を使用しています:https://www.nginx.com/resources/wiki/start/topics/examples/x-accel/

現在、ファイルを フォルダーに保存しています/protected_files。そのため、X-Accel を使用してファイルを表示するには、/protected_filesたとえば という URLを含むパスを渡しますprotected_files/image1.jpg

保護されたフォルダーに保護を設定する方法は次のとおりです。

location /protected_files {
  internal;
}

次に、X-Accel でファイルを表示するために、 でパスを渡しますX-Accel-Redirect

URL をマスクして、別の URL から提供されているように見せる方法はありますか? たとえば/fake_folder/image1.jpg?

私が試したがうまくいかなかったのは、希望する偽の名前で別のフォルダーを作成し、実際の名前にエイリアスを追加することでした。

location /fake_folder {
  internal;
  alias /protected_files;
}

その後、URLを渡します/fake_folder/image1.jpgが、エラー404が発生します

答え1

によるとドキュメンテーション内部では、書き換えられたリクエストは内部リクエストとしてカウントされます。次のコードが機能するはずです。

location /fake_folder {
    rewrite ^/fake_folder/(.*)$ /protected_files/$1 break;
}

関連情報