Preciso ter certeza de que meu URL, chamado www.domain.com, esteja sempre protegido pelo menos através da autenticação HTTP básica. Além disso, quero usar o mod_rewrite para enviar meus usuários para uma das duas instâncias do OC4j em execução no meu servidor. Também quero proteger meu painel de administração do OC4j (e outras funções do tipo administrador) com a mesma autenticação. Vou ter 2 usuários, chamá-los de administrador (o administrador terá acesso às instâncias do OC4j e ao painel de administração do OC4j) e convidado (o convidado poderá acessar apenas as instâncias do OC4j).
Então, digamos que eu tenho duas instâncias do OC4j - instance_a e instance_b. instance_a será executado na porta 8888 e instance_b será executado na porta 8889. Quando um usuário digita www.domain.com/instance_a, quero primeiro verificar se eles estão autenticados no servidor, e quero usar mod_rewrite para proxy da solicitação para www .domain.com: 8888 / instance_a. Isso seguirá o exemplo de instance_b. Novamente, QUALQUER usuário, administrador ou convidado, pode acessar essas instâncias. Se o usuário tentar acessar o painel de administração do OC4j diretamente em qualquer uma das instâncias, desejo expulsá-lo se ele não for um usuário administrador.
Eu tenho uma entrada VirtualHost que se parece com isso:
<VirtualHost *:80>
ServerName www.domain.com
CustomLog "/var/log/httpd/ic/access_log" "combined"
ErrorLog "/var/log/httpd/ic/error_log"
RewriteEngine on
RewriteLogLevel 9
RewriteLog "/var/log/httpd/rewrite_log"
RewriteCond %{REMOTE_USER} !^guest$ [OR]
RewriteCond %{REMOTE_USER} !^admin$
RewriteCond %{REQUEST_URI} ^/instance_a.*$
RewriteRule ^.*$ - [F,L]
<LocationMatch "^/.*$">
AuthType Basic
AuthName "Please Login"
AuthBasicProvider file
AuthUserFile /usr/local/apache/passwd/passwords
Require valid-user
</LocationMatch>
</VirtualHost>
Por alguma razão, isso não está funcionando (não que eu esteja surpreso). Parece que quando eu uso os itens de autenticação e mod_rewrite, eles não funcionam juntos.
Desde já, obrigado.