与 rails ActiveStorage 一起使用时如何隐藏 S3 存储桶 url

问题描述 投票:0回答:0

如何使用 ActiveStorage 将 S3 存储桶 URL 隐藏在像 media.example.com 这样的自定义域后面,这样当您打开 ActiveStorage blob 图像时,它会将您重定向到名为 media.example.com 而不是 bucket_name.s3.eu 的域west-2.amazonaws.com.

一个例子是图像

localhost:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBZ2tCIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--e87b2ee9e5c5f3ec8913c7c514b75 5f8cc769127/serial_number_photo__cam_1678996646233.jpg

将您重定向到:

BUCKET_NAME.s3.eu-west-2.amazonaws.com/g2tt3fm9a1yvf5rdu6zrsoar5e9k?response-content-disposition=inline%3B%20filename%3D"serial_number_photo__cam_1678996646233.jpg"%3B%20filename%2A%3DUTF-8%2 7%27serial_number_photo__cam_1678996646233。 jpg&response-content-type=image%2Fjpeg&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAS3VSSD2HVNHRIAEB%2F20230428%2Feu-west-2%2Fs3%2Faws4_request&X-Amz-Date=20230428T 133352Z&X-Amz-Expires=300&X- Amz-SignedHeaders=host&X-Amz-Signature=d4b1bb71a6a798f7cadf69d52e6ced3d15fa80df2656eac70130ec6580927d7c

我想要它做的是重定向到:

media.example.com/g2tt3fm9a1yvf5rdu6zrsoar5e9k?response-content-disposition=inline%3B%20filename%3D"serial_number_photo__cam_1678996646233.jpg"%3B%20filename%2A%3DUTF-8%27%27serial_number_photo__cam _1678996646233.jpg&response-content-type=image% 2Fjpeg&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAS3VSSD2HVNHRIAEB%2F20230428%2Feu-west-2%2Fs3%2Faws4_request&X-Amz-Date=20230428T133352Z&X-Amz -Expires=300&X-Amz-SignedHeaders=host&X-Amz-签名=d4b1bb71a6a798f7cadf69d52e6ced3d15fa80df2656eac70130ec6580927d7c

2个问题:

  1. 如何配置 rails 以重定向到 media.example.com 域?
  2. 当 media.example.com 被设置为存储桶的 CNAME 时,如何配置 Amazon S3 以接受 media.example.com/....? (我目前已经设置好了,但我一直收到“AccessDenied”)
ruby-on-rails amazon-web-services amazon-s3 rails-activestorage
© www.soinside.com 2019 - 2024. All rights reserved.