конфигурация apache 2.4, чтобы разрешить Проверка работоспособности ELB

У меня есть экземпляр EC2 за балансировщиком нагрузки приложений AWS, на котором запущен apache 2.4

Проверка работоспособности настроена на выполнение GET on / health /

У меня настроены виртуальные хосты и две записи vhost - одна с именем сервера, а вторая для обработки входящих запросов непосредственно на IP-адрес. Сначала должен быть загружен aaa_first, поэтому он должен быть значением по умолчанию.

Однако, когда я перехожу непосредственно к общедоступному IP-адресу экземпляра, я получаю страницу приветствия apache по умолчанию, а проверка работоспособности получает 403:

"GET /health/ HTTP/1.1" 403 199 "-" "ELB-HealthChecker/2.0"

aaa_first. conf содержит:

<VirtualHost *:80>
  ServerName aaa

  <Location /var/www/html>
     Require all denied
  </Location>

  <Location /var/www/html/health>
     Require ip 10.151.0.0/20
     Require all denied
  </Location>
  CustomLog logs/0000_access.log combined-elb-host
</VirtualHost>

default.conf содержит:

<VirtualHost *:80>
  ServerName host.example.com

  DocumentRoot /var/www/html
  DirectoryIndex index.html

  ErrorLog logs/error.log
  CustomLog logs/access.log combined-elb-host

  <Directory "/var/www/html">
    AllowOverride All
    Require all granted
  </Directory>
</VirtualHost>

Что мне нужно, чтобы гарантировать, что запросы к IP блокируются, кроме проверок работоспособности, исходящих от ELB?

0
задан 24 November 2020 в 00:06
1 ответ

Изменить на . Местоположение совпадает с URL-адресом, а не с путями файловой системы. Из документов:

Директива ограничивает область действия вложенных директив URL-адресом... разделы работают полностью за пределами файловой системы. Это имеет несколько последствий. Самое главное, директивы не должны использоваться для управления доступом к расположениям файловой системы.

1
ответ дан 30 November 2020 в 00:30

Теги

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