如何访问varnish背后的symfony Dev环境?

时间:2014-12-10 10:38:05

标签: symfony varnish apache2.4

在apache2前面安装清漆之后,我无法访问symfony2项目的开发环境(从localhost连接,所以在安装清漆之前它已经工作了。)

我收到了symfony2访问被拒绝消息"您不能访问此文件。检查app_dev.php以获取更多信息。"

查看app_dev.php文件时:

if (isset($_SERVER['HTTP_CLIENT_IP'])
    || isset($_SERVER['HTTP_X_FORWARDED_FOR'])
    || !(in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', 'fe80::1', '::1')) || php_sapi_name() === 'cli-server')
) {
    header('HTTP/1.0 403 Forbidden');
    exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.');
}

在调试问题后,我发现 $ _ SERVER [' HTTP_CLIENT_IP']为NULL。

如何解决这个问题?

谢谢。


注意:我使用的是ubuntu 14.04 + apache2.4 + varnish 3 + Symfony2.4

1 个答案:

答案 0 :(得分:1)

如果符合以下情况,该行将返回403:

  • 存在HTTP_CLIENT_IP标头
  • 存在HTTP_X_FORWARDED_FOR标头
  • $ _ SERVER ['REMOTE_ADDR']不是'127.0.0.1','fe80 :: 1',':: 1'
  • 之一

您可能正在设置清漆中的HTTP_X_FORWARDED_FOR标头,或者清漆是为您设置的,具体取决于清漆版本。取消设置或重写条件,这是一个安全措施,因此采取相应行动。

这里有一些有趣的信息:http://symfony.com/doc/current/cookbook/cache/varnish.html