如果我按照链接,Heroku上的Sinatra应用程序会响应Forbidden

时间:2015-10-20 20:44:32

标签: ruby heroku sinatra puma

我创建了一个小型Sinatra应用程序并使用Puma来运行它。我已将我的应用程序部署到Heroku,一切正常,但如果我按照外部链接访问我的应用程序,则会收到回复Forbidden。这是从哪里来的?

该应用程序仅定义一个HTTP方法:

require 'sinatra'

get '/' do
  headers 'Content-Type' => 'application/json'
  body 'Hello World'
end

例如,https://contactsampleprovider.herokuapp.com/后面会产生Forbidden,但在浏览器中手动输入网址可以正常工作。

如果我遗漏headers - 电话,一切都按预期工作。

1 个答案:

答案 0 :(得分:0)

这是Rack保护的一项功能,如果您将内容类型设置为JSON,它似乎会自动启用。它可以通过

禁用
,case  
    when b.thing like '3%' then '000'+b.stuff
    else b.thing+b.stuff
    end as 'Thing'

Sinatra and Rack protection中的此问题中所述。