フロントエンド プロキシとして nginx を使用したいのですが、応答の MIME タイプ (Content-Type ヘッダー) に応じて、条件付きで別の URL にプロキシします。
たとえば、クライアントの 1% が PNG を処理しない User-Agent を使用しているとします。その UA で、応答のタイプが image/png の場合、PNG を取得して変換する特別な URL に再度 proxy_pass したいと考えています。
理想的には、この特別な処理を必要としない 99% のユーザーのパフォーマンスとキャッシュを損なわずにこれを行います。バックエンド アプリケーションを変更できません。(それ以外の場合は、UA を検出して応答を修正するか、X-Accel-Redirect を送信して nginx に別のロケーション ブロックを実行させることができます。)
これが不可能であるか、パフォーマンスが悪い場合、目的の効果を達成するためにモジュールの作成をどこから開始しますか? たとえば、このロジックの実装に最も近いのはどの拡張ポイントですか?
編集: Lua を使用してサブリクエストを実行し、そこで応答ヘッダーを検査できるようです。しかし、それはすべてのリクエストをLuaを介して渡すことを意味しますが、これは最適ではないようです