http://www.mypage.com/test.aspxからアクセスできるリモート ページがあるとします。そのページでは、コード Request.ServerVariables["HTTP_HOST"].ToString() を使用します。ページにアクセスすると、コードがhttp://www.mypage.com/test.aspxである URL バーに表示されるものとは異なる URL を返す可能性はありますか? どんな助けでも大歓迎です。ありがとう。
5 に答える
IISがWebインスタンスにバインドしている任意の名前を確認できます。したがって、サーバーの名前が「server1」で、IPアドレスが123.123.123.123で、3つすべてがIISのインスタンスにバインドされている場合、これらの値のいずれかが表示されます。
バインドされている名前を検索するには、[インターネットインフォメーションサービス(IIS)マネージャー]([スタート]、[管理ツール])を開き、サイトが表示されるまでツリーを展開します。使用しているものを見つけてください。右クリックして「バインディング」を選択します。リスト内の各バインディングを編集します。すべてが[IPアドレス:]「すべて未割り当て」と表示されている場合、HTTP_HOSTは1. DNS経由で構成したWWWアドレス、2。マシン名3.IPアドレスである可能性があります。
使用してみてください:
HttpContext.Current.Request.ServerVariables["SERVER_NAME"]
これがうまくいくことを願っています。
はい、可能です。isapi_rewriteモジュールは、独自のコードがHTTP_HOSTを検査する前に、HTTP_HOSTの値を変更する可能性があります。
誰かが既にローカル リライター (isapi_rewrite) について言及していますが、サーバーを公開する ISA Server のようなリモート リライターもあります。元のホスト ヘッダー (クライアントが入力したもの)、または公開設定で入力されたものを送信するのは構成です。