我正在使用 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;
}