可以信任传递给Heroku应用程序的Host头吗?

时间:2012-11-30 11:12:37

标签: heroku

我正在开发可通过多个域访问的Heroku应用程序。我需要区分请求与哪个特定域相关。例如,需要构建Location标头中返回的资源的绝对URL。

我是否可以信任在Heroku应用程序的请求中到达的Host标头始终指向与应用程序关联的域(默认xyz.herokuapp.com域或添加了{的域之一{1}}命令)?

我知道用户可以将此标头设置为任何值,但Heroku前端服务器需要进行某种过滤以将请求分派给正确的应用程序。这个过滤子弹证明是否足以信任heroku domains:add标题?

1 个答案:

答案 0 :(得分:5)

如果请求到达您的应用程序,则主机标头将是为您的应用程序配置的标头。

如果主机标头不是您的主机标头,则Heroku服务器会将请求发送到其他位置。

您可以通过发送错误的主机在命令行上证明这一点。 例如:

$ curl "http://ismy.herokuapp.com" -H "Host: notmy.herokuapp.com"

所以,你的问题的答案是肯定的。我相信它。