Não é possível configurar o apache para restringir o acesso por IP para proxy

2

Adicionei o seguinte no meu httpd.conf (após o VirtualHost):

<VirtualHost *:80>
    ServerName XXX.XXX.XXX

    <Directory proxy:>
        Order allow,deny
        Allow from 10.52.208.221
        Allow from 10.52.208.223
        Deny from all
    </Directory>

    ProxyPass / http://XXX.XXX.XXX/

    RewriteEngine On
    RewriteCond %{HTTPS} !=on
    RewriteRule ^/admin/$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

</VirtualHost>

ainda assim, consigo acessar meu VirtualHost de outros IPs:

# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 6.4 (Santiago)
# uname -a
Linux XXXXX.XXXXX.XXX 2.6.32-358.18.1.el6.x86_64 #1 SMP Fri Aug 2 17:04:38 EDT 2013 x86_64 x86_64 x86_64 GNU/Linux
# httpd -V
Server version: Apache/2.2.15 (Unix)
Server built:   Aug  2 2013 08:02:15
Server's Module Magic Number: 20051115:25
Server loaded:  APR 1.3.9, APR-Util 1.3.9
Compiled using: APR 1.3.9, APR-Util 1.3.9
Architecture:   64-bit
Server MPM:     Prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT="/etc/httpd"
 -D SUEXEC_BIN="/usr/sbin/suexec"
 -D DEFAULT_PIDLOG="run/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="logs/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"
# rpm -q httpd
httpd-2.2.15-29.el6_4.x86_64
# 
    
por alexus 15.10.2013 / 19:34

3 respostas

3

Eu encontrei a resposta de: mod_proxy - Servidor HTTP Apache e eu testei ( Isso funciona! (TM)):

<Proxy *>
        Order deny,allow
        Deny from all
        Allow from 10.52.208.221
        Allow from 10.52.208.223
</Proxy>
    
por 15.10.2013 / 21:34
2

Acredito que o que você está procurando é:

<Directory proxy:>
    Order deny,allow
    Deny from all
    Allow from 10.52.208.221
    Allow from 10.52.208.223
</Directory>

A ordem do pedido é importante: -)

    
por 15.10.2013 / 20:13
1

A configuração a seguir pode ser útil se você quiser restringir determinados caminhos do seu site com proxy.

Eu incluí um IP e uma sub-rede em uma regra, para aqueles que precisam permitir uma sub-rede inteira em vez de um conjunto de IPs únicos.

<Location /foo>
    Deny from all                       // **This rule is the most IMPORTANT**    
    Allow from 192.168.1.2 10.100       // The second value implies 10.100.0.0/16 subnet
    ProxyPass http://example.com/foo
    ProxyPassReverse http://example.com/foo
</Location>
    
por 25.07.2016 / 12:06