我使用S3作为Rails存储来上传一个文档,然后用户将其呈现到浏览器中。然而,有一件事我不完全确定我喜欢,那就是存储路径的URL在浏览器中是直接可见的。
例如,当用户请求位于S3中的项目时,Rails会将用户重定向到S3 URL。我唯一不喜欢的是它告诉用户我正在使用S3,并提供了一个额外的窥探和窥探的机会。
有没有什么方法可以简单地将所有渲染的存储项隐藏在我的实际域后面?这是我可以用Rails做的事情吗?还是我必须在服务器端做其他类型的配置?
您可以尝试以下操作:
send_data @entity.file.download, filename: @entity.file.blob.filename, type: @entity.file.blob.content_type, disposition: 'download'
这将不会公开blob URL,即使用于处置:"inline">