J'ai un Apache 2.2 configuré avec l'autorisation LDAP, qui fonctionne de manière fantastique comme prévu, et qui a également fait en sorte que je puisse contourner l'authentification quand j'y accède localement.Apache 2.2 Permettre de env = _variable_
Allow from
localIPhostnameAhostnameB, etc ...
Si je curl
du serveur, je ne reçois pas de Auth requis. Donc tout va bien et fonctionne comme prévu.
Ce dont j'ai besoin maintenant est de faire une URL particulière pour contourner également l'autorisation.
J'ai essayé toute la solution habituelle d'utilisation SetEnvIf
;
SetEnvIf Request_URI "^/calendar/export" bypassauth=true`
Allow from env=bypassauth IP_ADDRESS HOSTNAME_A HOSTNAME_B
Mais cela ne fonctionne tout simplement pas !!
- L'accès local est toujours sans restriction, mais à distance, il est pas (pas de changement là-bas)
- Si je vide mes variables d'environnement du serveur sur le script de cette URL, je peux voir ma variable
bypassauth
est passé.
Je ne peux tout simplement pas comprendre pourquoi la partie Allow from env=bypassauth
ne fonctionne pas, alors qu'elle obéit encore aux paramètres supplémentaires de la directive.
J'ai aussi essayé une autre suggestion, en utilisant la directive Location;
<Location /calendar/export>
Satisfy Any
Allow from all
AuthType None
SetEnv WTF 123
</Location>
Encore une fois, je peux voir ma nouvelle variable d'environnement (WTF
) apparaissent sur cette URL (quand je jetai le serveur envs dans le script), donc je sais que les SetEnv
et SetEnvIf
directives travaillent.
Y a-t-il quelque chose qui me manque (toutes les bizarreries d'Apache2.2?), Car toutes les solutions que j'ai vues jusqu'ici ne fonctionnent tout simplement pas. C'est comme si mes changements de Allow from
n'avaient aucun effet après le redémarrage d'Apache. Je commence à sentir ma santé mentale.
Existe-t-il également un ordre particulier lors de l'écriture des directives pour Satisfy Any
, Order allow, deny
et les directives Auth*
, qui pourraient affecter cela?