午後の紳士、
私の現在のセットアップは単一のサイトです。これを http://production.com と呼びましょう。これは、ポート80のNginxによって静的キャッシュとして提供され、バックグラウンドのApacheによってポート8080localhostで提供されます。本当に、これは非常にうまく機能します。
私が今やろうとしているのは、URL http://production.com/foobar を作成して、外部URLからのデータを含めることです http:// internal .com / 。
私が抱えている問題は、 http://internal.com/ を参照すると、自動的に http://www.internal.com/forum/forum)にリダイレクトされることです。 php これはvBulletinフォーラムであり、独自の内部リダイレクトがあり、サイトのURL変数に基づいていないためです。もちろん、Nginxを介してプロキシしようとすると同じことが起こり、../forum/forum.phpURLに「転送」されます。
では、どうすればこれを解決できますか?どういうわけかそのリダイレクトを非表示にし、Nginxが実際にアドレスバーでそれを追跡しないようにする方法はありますか?基本的に、実際のiframeを使用しないiframeです。 :-)
これは私が今試しているNginxコードスニペットです:
location /foobar {
proxy_pass http://internal.com/;
proxy_redirect off;
proxy_set_header Host $Host;
}
アイデア?前もって感謝します。
この場合、基本的に2つの異なるオプションがあることがわかりました。
AndreiMikhaltsovが指摘したようにngx.lua
モジュールを使用し、返されるHTTP応答のプロキシを変更するか、これはもちろん非常に悪夢かもしれません。
「転送」先のアプリケーション(この場合はフォーラム)にいくつかの変更を加えます。
私たちの場合、2番目を選択し、基本的に同じドメインに配置して、フォーラムにいくつかの変更を加えました。