Назад | Перейти на главную страницу

Требовать локальную директиву Apache, не работающую на экземпляре AWS EC2

У меня есть виртуальный хост Apache 2.4 на экземпляре AWS EC2 со следующей конфигурацией:

<Directory /srv/www/example.org>
    Require ip [REDACTED] # Office IP
    Require local
</Directory>

Когда я делаю запрос с отредактированного IP-адреса внешнего офиса, он работает нормально, но когда я делаю запрос из экземпляра EC2, я получаю ошибку 401 Unauthorized. Я пробовал заменить 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 директива?

IP-адрес, который вы видите в журналах, скорее всего, является внутренним IP-адресом компьютера ec2.

В качестве альтернативы, не могли бы вы изменить строку require, чтобы использовать имя хоста localhost. Это должно быть правильно определено в / etc / hostname