Ограничьте доступ, зависящий от переменной среды

Попытка быть умным и предоставить доступ в зависимости от переменной среды. Это, кажется, не работает (никакие ошибки, выражение всегда является ложью).


Что я попробовал:

<VirtualHost *:80>

  ...

  <Directory /var/www/html>
    Options       Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order         allow,deny

    <If "reqenv('ENVIRONMENT_STATE') == 'dev'">
      allow from 1.22.333.0/24
      deny from all
    </If>
    <Else>
      allow from all
    </Else>
  </Directory>
</VirtualHost>

Ожидаемое поведение:

Если ENVIRONMENT_STATE установлен на 'dev', затем ограничьте весь доступ кроме в упомянутом IP.


Источники:

http://httpd.apache.org/docs/2.4/mod/core.html#else
https://httpd.apache.org/docs/2.4/expr.html

0
задан 14 October 2015 в 18:45
1 ответ

Я бы использовал файл .htaccess для ограничений IP. Причины:

  • Вы можете управлять им.
  • Не требуется перезапуск сервера при добавлении или удалении IP-адресов.
  • Если вы случайно заблокируете себя, вы всегда можете войти по FTP и отредактировать файл для восстановления доступа.

См. Этот вопрос в качестве примера.

0
ответ дан 24 November 2019 в 07:53

Теги

Похожие вопросы