Apache2: Como restringir o acesso a IP específico com ProxyPass?

1

Eu tenho um servidor Apache2 configurado como proxy reverso na minha rede de perímetro.

Há muito VirtualHost configurado com a diretiva ProxyPas.

Para um específico, quero restringir o acesso a um endereço IP específico.

Este é um exemplo:

<VirtualHost 192.168.0.1:80>
    ServerAdmin [email protected]
    ServerName sub.domain.com
    ServerAlias sub.domain.com
    ProxyPass / http://internal.domain.com:80/
    ProxyPassReverse / http://internal.domain.com:80/
    CustomLog /var/log/apache2/my_log combined
    HostnameLookups Off
    ProxyPreserveHost On
    UseCanonicalName Off
    ServerSignature On
    ProxyRequests Off
</VirtualHost>

Eu tentei adicionar isto:

<Proxy *>
    Order deny,allow
    Deny from all
    Allow from 192.168.0.100
</Proxy>

mas não funciona porque o Proxy Reverso não preserva o endereço IP remoto.

Existe uma maneira de usar o IP ACL com o Apache configurado como Proxy Reverso?

Obrigado

    
por magnum 05.05.2016 / 17:32

1 resposta

0

Você pode fazer isso usando: cabeçalhos de solicitação de proxy reverso ( X-Forwarded-For )

Tutorial: Apache 2.4 como proxy reverso - Laboratórios LeaseWeb - abrange o segundo ponto.

para mod_proxy :

LogFormat "%v %{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" pro
xy
SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" forwarded
    
por 05.05.2016 / 18:13