我正在为 S3 创建规则,使用文件将查询字符串重写为路径 从浏览器到服务器的请求可以是
http://localhost:8088/bucket-media/1111111_0.jpg?size=large
"size"是s3 bucket中的一个目录,需要代理到S3
https://s3-storage/bucket-media/large/1111111_0.jpg
我的配置
set $bucket "s3-storage";
location /bucket-media/ {
#set $size $arg_size;
#rewrite ^ /$size$uri break;
if ($args ~* "size=(.*)") {
set $w1 $1;
rewrite .* /bucket-media/$w1/$uri break;
}
proxy_intercept_errors on;
resolver 8.8.8.8;
proxy_pass https://$bucket$uri;
error_page 404 = @fallback;
}
location @fallback {
proxy_intercept_errors on;
proxy_pass http://other-backend/internal/images/missing/?file_name=$uri;
}
它不能正常工作。代理时没有文件名。
https://storage/bucket-media/large/