
画像を含む保護されたフォルダーを提供するために 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;
}