Apache 2.4 "Exigir ip" não funciona para /server-status, /phpMyAdmin etc com diretivas VirtualHost adicionadas em httpd.conf

Apache 2.4 "Exigir ip" não funciona para /server-status, /phpMyAdmin etc com diretivas VirtualHost adicionadas em httpd.conf

Recentemente mudei o uso do Event MPM em minha instalação do Apache 2.4, junto com PHP-FPM e proxy FastCGI, espero que não tenha sido esse o motivo do meu problema. Também comecei a trabalhar com diretivas VirtualHost baseadas em nomes, embora não tenha vários sites, o Linux (especificamente CentOS 7) é apenas uma VM rodando atrás de NAT.

Antes dessas mudanças, exceto que a VM ainda rodava atrás de NAT, ela estava funcionando bem (pelo menos acredito que sim, o que explicarei mais tarde), mas o "Exigir IP" está me incomodando agora.

<VirtualHost *:80>
        DocumentRoot /home/website/public_html
        <Directory /home/website>
                Allow from all
                Options +Indexes
                AllowOverride All
        </Directory>
        <Location />
                # Allow Internal IPs
                Require ip 10.0.0.0/8
                Require ip 172.16.0.0/12
                Require ip 192.168.0.0/16
                Require ip 0.0.0.0/8
                Require ip 127.0.0.0/8

                # Allow Company IPs
                Require forward-dns broadband1.company.com
                Require forward-dns broadband2.company.com

                # Allow all IPs (comment it if disallowed)
                Require all granted
        </Location>
</VirtualHost>

Então, quando coloco os arquivos da web na public_htmlpasta, funciona muito bem. Brilhante! Mas então instalei o phpMyAdmin e modifiquei phpMyAdmin.confem /etc/httpd/conf.d/, como abaixo:

<Directory /usr/share/phpMyAdmin/>
   AddDefaultCharset UTF-8

   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
       # Allow Internal IPs
       Require ip 10.0.0.0/8
       Require ip 172.16.0.0/12
       Require ip 192.168.0.0/16
       Require ip 0.0.0.0/8
       Require ip 127.0.0.0/8

       # Allow Company IPs
       Require forward-dns broadband1.company.com
       Require forward-dns broadband2.company.com

       # Was here by default
       Require ip 127.0.0.1
       Require ip ::1
     </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   </IfModule>
</Directory>

Ao contrário do VirtualHost acima, desta vez, não concedi a todos os endereços IP acesso ao phpMyAdmin porque é extremamente perigoso se eles conseguirem invadir o banco de dados com força bruta.

O mesmo se aplica a /server-statuse /server-info, apenas IPs específicos podem ter acesso a tais páginas e certamente não Require all granted. Mas depois que começamos a usar o VirtualHost, eles podem acessar essas páginas literalmente na seção "Exigir IP" em phpMyAdmin.conf e as diretivas que criei para /server-status e /server-info não estão funcionando corretamente.

Então eu curiosamente tentei e comentei "Exigir todos concedidos" httpd.confe vi o que acontece e então o phpMyAdmin fica inacessível como esperado. Portanto, parece que "Exigir ip" é baseado exclusivamente no VirtualHost. No entanto, as outras 3 páginas não são mencionadas em VirtualHost, então não sei o que fiz de errado.

Minha pergunta é: como fazer com que "Exigir ip" funcione novamente para phpMyAdmin e/server-status e/server-info? Obrigado pela sua ajuda antecipadamente!

informação relacionada