Как получить доступ к среде Symfony Dev за лаком?

После установки лака перед apache2 я не могу получить доступ к среде разработки проекта symfony2 (подключен с локального хоста, поэтому до установки лака работал).

Я получил сообщение об отказе в доступе к 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 + лак 3 + Symfony2.4


person skonsoft    schedule 10.12.2014    source источник


Ответы (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

person Jorge Nerín    schedule 10.12.2014
comment
Varnish устанавливает HTTP_X_FORWARDED_FOR, поэтому я отредактировал файл app_dev, и теперь он работает. - person skonsoft; 10.12.2014