8

バックエンドの Grails アプリケーションの前でリバース プロキシとして Apache から Nginx に切り替えることについて調査しています。URL の書き換えをいじっていて、バックエンドから応答が返されるという問題が発生しました。ロケーションヘッダーの書き換えは処理できますが、実際のコンテンツを処理する最良の方法はリンクなどです。

nginx_substitutions_filter は推奨される方法ですか、それとも応答本文でコンテンツの置換を行うために人々が使用する別のモジュールはありますか?

追加のリクエスト ヘッダーに基づいて正しいコンテンツのレンダリングを処理する Grails プラグインを作成することを考えましたが、今はアプリケーションの外部で処理して、最大限の柔軟性と疎結合を可能にするのが最善だと考えています。

リバース プロキシ シナリオでの URL 書き換え/応答後処理のベスト プラクティスに関する記事はありますか?

4

2 に答える 2

2

Lua モジュールを使用して応答を取得し、Lua 文字列のように操作できます。出力を大文字にするばかげた例:

res = ngx.location.capture('/some/path')
ngx.print(string.upper(res.body))

http://wiki.nginx.org/HttpLuaModule#ngx.location.captureを参照してください

于 2013-01-31T02:13:14.217 に答える
0

ヘッダーのみを置き換えたい場合は、HeadersMoreサードパーティモジュールが最適です。それ以外は、susbstiutionモジュールが唯一のオプションのようです。

ただし、バックエンドが正しいページを返すようにすることをお勧めします。すべての応答を変更すると、リソースが使用され、時間がかかります。

于 2012-03-31T09:10:03.480 に答える