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.

  • Non è ansible troncare / cancellare error.log su apache, ma è ansible farlo manualmente con nano
  • errori costanti mpm_itk nel registro degli errori di Apache
  • Apache2 VirtualHost con lo stesso nome della macchina
  • Esiste un command per aprire Apache per visualizzare la sua configuration di esecuzione dalla memory?
  • Cosa fa davvero a Apache "Richiedere tutto"?
  • Il comportmento di regex Apache LocationMatch non sembra corretto
  • 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.