Estoy intentando crear una RewriteRule que busca en el encabezado entrante APIKey
y, si contiene una cadena coincidente, redirigirá a la URL respectiva; de lo contrario, debería ser inaccesible.
Estoy probando este escenario usando cartero con el método Post.
Encuentre mi código a continuación:
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]
Respuesta1
Para bloquear el acceso (es decir, 403 Prohibido) a cualquier ruta URL que comience /manager/
cuando el encabezado de la solicitud HTTP APIKey
no se proporciona con el valor específico (por ejemplo ABCD123456789
), puede utilizar la siguiente regla mod_rewrite:
RewriteEngine On
RewriteCond %{HTTP:APIKey} !=ABCD123456789
RewriteRule ^/?manager/ - [F]
: RewriteCond %{ENV:APIKEY} ^ABCD123456789$ RewriteRule .* - [E:APIKEY=ABCD123456789]
En realidad, esto no está haciendo nada. ¡Establece la variable de entorno APIKEY
en el valor, ABCD123456789
pero solo cuando la var env APIKEY
ya está configurada en ese valor!