APIKEY の RewriteCond

APIKEY の RewriteCond

受信ヘッダーを調べAPIKey、一致する文字列が含まれている場合はそれぞれの URL にリダイレクトし、含まれていない場合はアクセスできないようにする RewriteRule を作成しようとしています。

私は Post メソッドを使用して Postman を使用してこのシナリオをテストしています。

私のコードは以下にあります:

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]

答え1

/manager/HTTP リクエスト ヘッダーAPIKeyに特定の値 (例: ) が指定されていない場合に開始する URL パスへのアクセスをブロック (403 Forbidden など) するには、ABCD123456789次の mod_rewrite ルールを使用できます。

RewriteEngine On

RewriteCond %{HTTP:APIKey} !=ABCD123456789
RewriteRule ^/?manager/ - [F]

:
RewriteCond %{ENV:APIKEY}   ^ABCD123456789$
RewriteRule .* - [E:APIKEY=ABCD123456789]

これは実際には何も行いません。環境変数をAPIKEYその値に設定しますABCD123456789が、env var がAPIKEYすでにその値に設定されている場合に限ります。

関連情報