Autorizarea proxy-ului forward în Apache: Require și AuthMerging
Urmăriți autorizarea proxy la nivel global și la nivel de gazdă virtuală prin regulile de fuzionare a secțiunilor din Apache, în loc să tratați proxy.conf ca un strat de politică separat.
O regulă din proxy.conf nu este o clasă specială de regulă. Apache citește configurația inclusă în arborele său de configurare; secțiunea globală, VirtualHost sau secțiunea potrivită care o înconjoară determină modul în care directiva participă.
Începeți cu listenerul și gazda virtuală care deservesc cererea de proxy forward. Apoi colectați secțiunile Proxy potrivite din acel context și din configurația principală. Contează ordinea de procesare a secțiunilor, nu doar ce fișier a fost editat ultima dată.
Autorizarea nu este întotdeauna cumulativă
Cu comportamentul implicit AuthMerging Off, autorizarea este moștenită până când o secțiune aplicabilă ulterioară furnizează propria logică de autorizare. Acea logică nouă poate înlocui cerințele anterioare în loc să adauge o altă restricție.
| Setare | Combinație cu cea mai apropiată secțiune de autorizare anterioară |
|---|---|
| Off | Noua autorizare poate suprascrie logica moștenită |
| And | Ambele seturi trebuie să autorizeze |
| Or | Oricare dintre seturi poate autoriza |
AuthMerging în sine este local secțiunii care îl conține. Nu presupuneți că setarea And o singură dată schimbă fiecare secțiune ulterioară.
Păstrați politica dorită explicită acolo unde este posibil. Două linii Require fără un container de autorizare care să le înconjoare sunt implicit alternative, așa că o regulă IP plus valid-user nu înseamnă automat „IP și utilizator”. Folosiți RequireAll când ambele condiții aparțin aceleiași decizii.
Revizuiți configurația potrivită completă înainte de a modifica un cont de proxy sau de a deschide accesul. Apoi testați cazurile permise și cele respinse pe listenerul care rulează. O cerere poate fi respinsă—sau permisă neașteptat—pentru că o altă secțiune a furnizat autorizarea efectivă.