受信ヘッダーを調べ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
すでにその値に設定されている場合に限ります。