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 utilizzare Let's Encrypt con host dinamico dinamico configurato in massa
  • Come abilitare correttamente SSL sull'istanza ubuntu apache2 ec2?
  • Differenza tra "permanente reindirizzamento" vs mod_rewrite RewriteRule
  • Apache RewriteRule su VirtualHosts non funziona con il regex di cattura di gruppo
  • Aggiorna a Apache 2.4 Missing Modules?
  • Apache 2.4.7 ignora l'intestazione di risposta Content-Encoding: l'identity framework; rispetta rispettivamente Content Encoding: none, impostata da PHP
  • 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.