信任代理
编辑该页面警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 2.4,不再维护。
读这个页面的更新版本Symfob娱乐下载ony 6.3(当前的稳定版本)。
信任代理
提示
如果你使用Symfony框架,从阅读开始ob娱乐下载如何配置Symfony背后的工作负ob娱乐下载载均衡器或反向代理吗。
如果你发现自己在某种代理——就像一个负载平衡器,那么某些头信息可以使用特殊的寄给你X-Forwarded - *
头。例如,主机
HTTP头通常是用来返回所请求的主机。但当你在一个代理,真正的主人可能存储在一个X-Forwarded-Host
头。
由于HTTP头可以欺骗,Symfonyob娱乐下载不信任在缺省情况下,这些代理标题。如果您是在代理,你应该手动白名单你的代理。
2.3
CIDR标记支持是在Symfony 2.3中引入的,所以你可以白名单整个子网(如ob娱乐下载。10.0.0.0/8
,fc00:: / 7
)。
1 2 3 4
使用ob娱乐下载\组件\HttpFoundation\请求;/ /只信任代理标题来自这个IP地址请求::setTrustedProxies (数组(“192.0.0.1”,“10.0.0.0/8”));
配置头文件名称
默认情况下,信任以下代理标题:
X-Forwarded-For
中使用的getClientIp ();X-Forwarded-Host
中使用的getHost ();X-Forwarded-Port
中使用的getPort ();X-Forwarded-Proto
中使用的getScheme ()和isSecure ();
如果您的反向代理使用这些不同的标题名称,您可以配置,通过标题名称setTrustedHeaderName ():
1 2 3 4
请求::setTrustedHeaderName(请求::HEADER_CLIENT_IP,“X-Proxy-For”);请求::setTrustedHeaderName(请求::HEADER_CLIENT_HOST,“X-Proxy-Host”);请求::setTrustedHeaderName(请求::HEADER_CLIENT_PORT,“X-Proxy-Port”);请求::setTrustedHeaderName(请求::HEADER_CLIENT_PROTO,“X-Proxy-Proto”);
不相信某些头文件
默认情况下,如果你的代理的IP地址白名单,然后上面列出的所有四个标题是可信的。如果你需要信任这些标题而不是其他人,你可以这样做:
1 2
/ /禁用信任“X-Forwarded-Proto“头,使用默认的标题请求::setTrustedHeaderName(请求::HEADER_CLIENT_PROTO,”);
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。