
Я использую X-Accel для обслуживания защищенной папки, содержащей изображения:https://www.nginx.com/resources/wiki/start/topics/examples/x-accel/
В настоящее время я храню файлы в /protected_files
папке. Поэтому теперь, чтобы увидеть файлы с помощью X-Accel, я передаю путь, содержащий URL /protected_files
, например 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;
}