Ative e configure o mod_remoteip . Você proxy configuraria o endereço IP remoto original no cabeçalho como X-Forwarded-For em solicitações HTTP. Passe para a diretiva RemoteIpHeader colocada fora de <Directory> .
Se o mod_remoteip funcionar corretamente, os endereços remotos originais passados pelo proxy poderão ser vistos com %a in LogFormat . Você deve primeiro verificar isso.
No Apache, a diretiva 2.4 Satisfy é obsoleta . E é melhor você não complicar as condições do authz adicionando <Limit> desnecessário.
Tente com a seguinte configuração:
RemoteIPHeader X-Forwarded-For
<Directory /path/to/webroot>
AuthUserFile /etc/apache2/.htpasswd
AuthType Basic
AuthName "Restricted Content"
Require valid-user
Require ip xxx.xxx.xxx.xxx
</Directory>