Autenticazione di base per tutti tranne gli agenti utente elencati in Apache

È ansible richiedere l'authentication di base per tutti tranne gli Agent User specificati nella configuration di Apache?

PS So che agenti utente possono essere facilmente falsi, ma per il mio caso di utilizzo, tale authentication condizionale sarebbe sufficiente.

  • Come effettuare una ricerca DNS inversa nei miei registri Apache?
  • Apache VirtualHost wildcards con IPv6
  • Utilizzo di systemd per le variables di ambiente Apache o SetEnv?
  • Apache 2.4 apachebuddy.pl
  • Come posso redirect i sottodomini a una port diversa sullo stesso server?
  • Apache 2.4 Proxy per esterni, reindirizzamento per interno
  • One Solution collect form web for “Autenticazione di base per tutti tranne gli agenti utente elencati in Apache”

    Dopo aver cercato un po 'e sperimentando, ho risposto. Ci vuole queste righe nel file .htaccess :

     SetEnvIf User-Agent ^VipAgent1 vip_agent SetEnvIf User-Agent ^VipAgent2 vip_agent Order Allow,Deny Allow from env=vip_agent AuthType Basic AuthName "Protected Login" AuthUserFile /path/to/htpasswd Require valid-user Satisfy any 

    Inoltre, per funzionare, è necessario assicurarsi che mod_rewrite , mod_authn_file e mod_setenvif siano abilitati in httpd.conf e anche questa direttiva è impostata:

     AllowOverride All 

    Questa configuration consente l'accesso alle richieste con l'agente utente che inizia "VipAgent1" e "VipAgent2", ma chiede le credenziali di authentication per tutti gli altri visitatori.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.