Авторизація прямого проксі в Apache: Require і AuthMerging
Простежте глобальну авторизацію проксі та авторизацію на віртуальному хості через правила об'єднання секцій Apache, а не розглядайте proxy.conf як окремий шар політики.
Правило в proxy.conf — не особливий клас правил. Apache читає включену конфігурацію у своє дерево конфігурації; охопна глобальна секція, VirtualHost або відповідна секція визначає, як бере участь директива.
Почніть із прослуховувача та віртуального хоста, що обслуговують запит прямого проксі. Потім зберіть відповідні секції Proxy із цього контексту та основної конфігурації. Важливий порядок обробки секцій, а не лише те, який файл було змінено останнім.
Авторизація не завжди підсумовується
За типової поведінки AuthMerging Off авторизація успадковується, доки пізніша застосовна секція не надасть власну логіку авторизації. Ця нова логіка може замінити попередні вимоги, а не додати ще одне обмеження.
| Налаштування | Поєднання з найближчою попередньою секцією авторизації |
|---|---|
| Off | Нова авторизація може перекрити успадковану логіку |
| And | Обидва набори мають авторизувати |
| Or | Будь-який із наборів може авторизувати |
Сам AuthMerging є локальним для секції, що його містить. Не думайте, що одноразове встановлення And змінить кожну наступну секцію.
Де можливо, тримайте передбачувану політику явною. Два рядки Require без охопного контейнера авторизації неявно є альтернативами, тож правило IP плюс valid-user — це не автоматично «IP і користувач». Використовуйте RequireAll, коли обидві умови належать до одного рішення.
Перегляньте повну відповідну конфігурацію, перш ніж змінювати обліковий запис проксі або відкривати доступ. Потім перевірте дозволені та відхилені випадки на працюючому прослуховувачі. Запит може бути відхилено—або несподівано дозволено—бо чинну авторизацію надала інша секція.