nginxベースのHTTPプロキシがあり、その内部ですべてのHTTPリダイレクトを処理して、クライアントがリダイレクトチェーンの最後の応答のみを取得するようにします。
基本的なコードは次のようになります。
location /proxy {
rewrite ^/proxy/([^/]+) $1 break;
proxy_pass http://$uri/;
}
次の1レベルのリダイレクトの試みはこれです。
error_page 301 302 307 =200 @redir;
...そして、この名前の場所を持つ:
location @redir {
proxy_pass $proxy_location;
}
$ proxy_location変数がないだけで、作成方法を見つけることができませんでした。Location:
アップストリームから受信したヘッダーの値が含まれている必要があります。
何かご意見は?