リバースプロキシサーバーは、内部アプリケーションサーバーに要求を転送します。プロキシサーバーのHTTP_HOST
値は、サイトにアクセスするために使用されるホスト名に設定されます(例:www.example.com
またはwww.alias2.com
またはwww.alias3.com
)。内部アプリケーションサーバーからリバースプロキシのHTTP_HOSTを取得する方法
内部サーバーが内部IPアドレスへの要求を受信するため、HTTP_HOST
の値は192.168.64.2
に設定されます。
内部アプリケーションサーバーは、元のhttp要求でHost:
に使用されたドメイン名をどのように判断できますか?
SERVER_NAME
をアプリケーションで使用されるホスト名に設定することはできますが、多くの異なるホスト名の別名がウェブサイトにアクセスすると、どのホストが使用されているかわかりますか?アプリケーションサーバ上のApacheで使用可能なすべての環境変数、どれを見てみると
は、(明らかに依拠することはできません)HTTP_REFERER
除いて、要求のホスト名を示しています
[HTTP_HOST] => 192.168.64.2:80
[SERVER_NAME] => 192.168.64.2
[REMOTE_ADDR] => 192.168.64.1
[SERVER_ADDR] => 172.19.0.3
[SCRIPT_URI] => http://192.168.64.2:80/index.php
[HTTP_REFERER] => http://www.example.com/prev/
私はいくつかの逆のproxysができます承知しています元の要求で使用されたホスト名を転送するように構成することができます。私は一般的な言葉で質問しています。なぜなら、プロキシ特有ではない解決策があるかどうかを知りたいからです。現時点では、開発中にBrowserSyncをリバースプロキシとして使用していますが、httpホストを転送する方法はないようですが、いずれにしてもアプリケーションを設計できるようにしたいと思いますこの情報を提供するリバースプロキシに依存しません。
これはどのように機能すると思いますか?あなたが複数のホスト名を扱う場合、リバースプロキシは単純に*どのホストから使用するのかを伝えていないのですが、他にどこから物理的にこの情報を得ることができますか? –