为什么Play的apache conf指南建议使用ProxyPreserveHost?

时间:2012-01-18 10:28:41

标签: apache playframework

Play Framework's apache config "guide"建议包含在Apache的配置中:

ProxyPreserveHost On

为什么?为什么有用?

来自Apache's documentation

  

启用后,此选项将从传入传递Host:行   请求代理主机,而不是在。中指定的主机名   proxypass line。

     

此选项通常应关闭。它主要用于   特殊配置,如代理基于群发名称的虚拟主机,   其中原始主机头需要由后端进行评估   服务器

1 个答案:

答案 0 :(得分:1)

如Play Framework文档中所述,ProxyPreserveHost选项使您的应用程序看起来直接暴露给外部世界。启用后,Apache会将主机标头设置为原始请求的标头,而不是代理设置中设置的标头。

只要您对Play应用程序中的请求主机信息有任何用处,这将非常有用。我不认为提出可能出现这种情况的情况太难了。例如,你可以通过密切关注请求主机来构建更强大的安全措施,并且看到它不应该意外地改变它,以防止会话高兴(不要说这必然是最明智的方式)这样做 - 这只是一个例子。)