Требовать, чтобы локальная директива Apache не работала на экземпляре AWS EC2
У меня есть Apache 2.4 VirtualHost на экземпляре AWS EC2 со следующей конфигурацией:
<Directory /srv/www/example.org>
Require ip [REDACTED] # Office IP
Require local
</Directory>
Когда я делаю запрос с отредактированного IP-адреса внешнего офиса, он работает нормально, но когда я делаю запрос от экземпляра EC2, я получаю 401 несанкционированную ошибку. Я пытался заменить Require local
с Require ip 127.0.0.1
но безрезультатно.
Единственный способ, которым я могу делать запросы с локального компьютера, - это добавить его внешний IP-адрес, например Require ip 123.45.67.89
,
Я посмотрел журнал доступа, и все запросы, сделанные с локальной машины, регистрируются как поступившие с внешнего IP-адреса, а не 127.0.0.1.
/etc/resolv.conf
файл выглядит так:
options timeout:2 attempts:5
; generated by /usr/sbin/dhclient-script
search eu-west-2.compute.internal
nameserver 172.31.0.2
Может ли это произойти, потому что IP/ имя хоста разрешается извне другой службой AWS?
Могу ли я изменить любую конфигурацию сервера, чтобы Apache рассматривал запросы от экземпляра EC2 как локальные, чтобы я мог использовать Require local
Директива?
1 ответ
IP-адрес, который вы видите в журналах, скорее всего, является внутренним IP-адресом машины ec2.
В качестве альтернативы, вы могли бы изменить строку require для использования имени хоста localhost. Это должно быть правильно определено в /etc/hostname