Fora do topo da minha cabeça, aqui está uma maneira de fazer isso. Comece colocando awstats
em um host virtual que apenas atenda ao localhost ...
<VirtualHost 127.0.0.1:8080>
...
</VirtualHost>
Dentro desse host virtual, inclua RewriteRules
que convertem URLs com base em caminho nas sequências de consulta apropriadas:
RewriteRule /awstats/config/(.*) /awstats/awstats.pl?config=$1
Com isso, você pode acessar:
/awstats/awstats.pl?config=X
Usando:
/awstats/config/X
Mas observe que, no momento, tudo isso está disponível apenas por localhost
. Ainda não estabelecemos conectividade externa. Para isso, vamos colocar <Location>
de blocos em sua configuração principal do servidor que:
- Implementar os controles de acesso necessários
- Solicitações de proxy para o host virtual "interno"
Assim:
<Location /awstats/config/X>
ProxyPass http://localhost:8080/awstats/config/X
</Location>
<Location /awstats/config/Y>
AuthType Basic
AuthName "awstats X"
AuthBasicProvider file
AuthUserFile /path/to/htpasswd
require valid-user
ProxyPass http://localhost:8080/awstats/config/Y
</Location>
Isso é tudo improvisado, então é bem possível que haja alguns erros aqui, mas a idéia básica é boa.