Estou tentando criar um RewriteRule que analisa o cabeçalho de entrada em busca de um APIKey
e, se contiver uma string correspondente, será redirecionado para o respectivo URL, caso contrário, deverá estar inacessível.
Estou testando este cenário usando o postman com o método Post.
Por favor, encontre meu código abaixo:
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/manager/(.*)
RewriteCond %{REQUEST_URI} ^/manager/secure/rest/groovy-service-invoke/v2/demo/firewall-test/v0.1.0/(.*)$
RewriteCond %{ENV:APIKEY} ^ABCD123456789$
RewriteRule .* - [E:APIKEY=ABCD123456789]
Responder1
Para bloquear o acesso (ou seja, 403 Proibido) a qualquer caminho de URL que comece /manager/
quando o cabeçalho da solicitação HTTP APIKey
não for fornecido com o valor específico (por exemplo, ABCD123456789
), você pode usar a seguinte regra mod_rewrite:
RewriteEngine On
RewriteCond %{HTTP:APIKey} !=ABCD123456789
RewriteRule ^/?manager/ - [F]
: RewriteCond %{ENV:APIKEY} ^ABCD123456789$ RewriteRule .* - [E:APIKEY=ABCD123456789]
Na verdade, isso não está fazendo nada. Ele define a variável de ambiente APIKEY
com o valor, ABCD123456789
mas somente quando o env var APIKEY
já está definido com esse valor!