Требовать, чтобы локальная директива 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

Другие вопросы по тегам