我已经查看过几个与我的问题有些相似的问题,但还没有找到很好的实现(例如one)。
现在我们在S3中托管了一个Ember应用程序,每当我们想要更新S3中的内容时,我们就会运行一个简单的grunt任务。一切正常,一切都被推了。
现在我们想要使用Sinatra基本上服务它。
我想做的是像
require 'sinatra'
get '/*' do
render 'https://s3.amazonaws.com/bucket-name/index.html'
end
这样任何进入的请求都默认为root并加载了ember应用程序。
我们将Ember应用程序存储在S3中,我们认为它是迄今为止我们发现的最佳/最安全的部署,这种实现方式很好,但我无法让sinatra实际加载它。我考虑获取文件,将其写入public/index.html
(参见上面的链接),然后渲染它,但这对我们需要的东西来说太过分了。
对其他想法持开放态度,但如果可能的话,我希望沿着这条路走下去。
答案 0 :(得分:1)
我通过这样做得到了它:
require 'sinatra'
require 'httparty'
get '/*' do
url = 'https://s3.amazonaws.com/bucket-name/index.html'
resp = HTTParty.get(url)
resp.body
end