加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 使Mongrel / WEBRick为将来的expires头提供静

发布时间:2020-12-17 01:58:47 所属栏目:百科 来源:网络整理
导读:我正在创建一个Rails应用程序,它将部署到桌面计算机上,同时运行Web服务器和浏览器(它是一个需要能够在没有Internet连接的情况下运行的测试应用程序). 出于这个原因,我将运行Mongrel或WEBRick,而不像往常那样在它前面没有Apache / Nginx.浏览器将直接访问Mong
我正在创建一个Rails应用程序,它将部署到桌面计算机上,同时运行Web服务器和浏览器(它是一个需要能够在没有Internet连接的情况下运行的测试应用程序).

出于这个原因,我将运行Mongrel或WEBRick,而不像往常那样在它前面没有Apache / Nginx.浏览器将直接访问Mongrel.

我现在面临的问题是加载资产需要一段时间(javascript / stylesheets / images).通常,我会通过在Mongrel / WEBRick前面的Apache代理中设置这些资产的未来到期日来解决这个问题,这样资产只需要一次,之后每个操作只有一个请求.

但在这种情况下,没有代理,我正在使用config.serve_static_assets = true

所以问题是:是否有可能告诉Mongrel / WEBrick在静态资产上打击远期到期的标头?

我在Ruby 1.9.2上使用Rails 3.

解决方法

你可以尝试这样的事情:

def get(path)
     @headers['Content-Type'] = MIME_TYPES[path[/.w+$/,0]] || "text/plain"
     unless path.include? ".." # prevent directory traversal attacks
       @headers['X-Sendfile'] = "#{PATH}/static/#{path}"
     else
       @status = 403 # "403 - Invalid path"
     end
   end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读