proxy_pass
すべてのリクエストを/api
バックエンド Tomcat REST サービスに渡すための nginxセットアップがあります。Location
このサービスは、リクエストのタイプに応じて異なるヘッダーを返す場合があります。たとえば、 Tomcat でホストされているためですLocation: http://foo.bar/baz/api/search/1234567
。baz
foo.bar
私の現在の構成では、ホスト名が正しく書き換えられますが、そのbaz
部分はそのまま残ります。これを削除したいのですが、proxy_pass オプションはヘッダーの新しい値のクリアまたは設定に限定されているようです。
たとえば、正規表現の代替を使用して、クライアントに渡される前にヘッダーを動的に変更する方法はありますか? これは私のnginx構成です:
location /api {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_max_temp_file_size 0;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffers 32 4k;
proxy_redirect off;
proxy_pass http://foo.bar:8080/baz/api;
}