HTTP Основной Автор, если, соединяясь из офиса с Apache 2.4?

Мы хотим настроить веб-сайт для демонстрационной цели только, что мы можем:

  1. Получите доступ отовсюду от Интернета путем введения имени пользователя и пароля через HTTP Основной Автор.
  2. Для простоты использования мы желаем к не необходимости пройти HTTP Основной Автор из офиса, где наш офис будет соединяться от 202.161.24.210.
  3. Определенные части демонстрационного сайта должны будут выполнить запросы REST к себе, таким образом, мы будем хотеть добавить в белый список 127.0.0.1 и:: 1 также.

Мы, кажется, имеем, достигают 2 и 3, но 1 не работает, а также мы думали, что это будет, наши пользователи продолжали получать переподсказку для HTTP Основное Подлинное имя пользователя и пароль даже при том, что они уже аутентифицируются и идут в различные страницы веб-сайта. Мы заметили от журналов, они получают следующее сообщение об ошибке при доступе к определенным активам:

[Tue Jun 09 10:50:03.442834 2015] [access_compat:error] [pid 5740:tid 140705259312896] [client 78.52.242.163:62774] AH01797: client denied by server configuration: /var/www/docroots/stage/lib/yui/build/moodle-core-checknet/assets/checknet.txt, referer: http://stage.example.org/mod/scorm/player.php

Вот наш Apache vhost:

<VirtualHost *:80>
ServerName stage.example.org

DocumentRoot /var/www/docroots/stage
    <Directory /var/www/docroots/stage>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None

        # Only visible on Office network or anyone with a valid password.
        AuthType Basic
        AuthName "Authorisation Required"
        AuthUserFile "/var/www/htpasswd"
        Require valid-user
        Order allow,deny
        Allow from 202.161.24.210 127 ::1
        Satisfy any
    </Directory>
</VirtualHost>

Мы выполняем Apache 2.4.6 на CentOS 7. Наша конфигурация корректна? Кажется, что наша конфигурация действительно работает на высокоуровневые файлы в /var/www/docroots/stage а также другие изображения, CSS и файлы JavaScript под подкаталогами, которые непосредственно находятся под этим, но могло случиться так, что это забывает Автора HTTP после определенного числа подкаталогов? SELinux находится в разрешающем режиме.

1
задан 9 June 2015 в 06:45
1 ответ

Без полного сообщения об ошибке (я бы ожидал, что модуль и IP-адрес) это немного предположение, но вы смешиваете директивы из двух разных модулей в Apache 2.4, Требовать директиву из mod-authz-core и директивы "legacy" Allow и Order из mod-access-compat, что может не очень хорошо.

Вы можете попробовать заменить строки

Order allow,deny
Allow from 202.161.24.210 127 ::1

на следующие

Require ip  202.161.24.210 127 ::1/128

На уже существующие Удовлетворите все , которые должны соответствовать вашим требованиям.

Ваше третье требование:

Некоторым частям демонстрационного сайта необходимо будет отправлять запросы REST к самому себе ...

Возможно, доступ к серверу не с адреса обратной связи, как вы ожидали, но он может быть настроен с полным доменным именем, аналогичным http://api.example.com/rest? и исходящим от публичного IP-адреса сервера.

Вы можете добавить общедоступные IP-адреса сервера, но это намного легче разрешить в Apache 2.4; локальный провайдер разрешает доступ к серверу, если выполняется одно из следующих условий:

  • адрес клиента совпадает с 127.0.0.0/8
  • ; адрес клиента - ::1
  • оба адрес клиента и сервера соединения одинаковы

Поэтому вместо перечисления обратных IP-адресов используйте:

Require valid-user
#  Office Gateway:
Require ip 202.161.24.210 
#  API access from this host:   
Require local            
#  Only one or more of the above needs to match:
Satisfy any                  
2
ответ дан 3 December 2019 в 20:51

Теги

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