2009-05-12 9 views
2

ロードバランサがポート80を外部からローカルのポート801に変換するシナリオがあります。サーバーになると、サーバーは明らかにポート801を認識し、Response.Redirectではリダイレクト先のURLにポート801を注入しようとしますが、これは私には望ましい解決策ではありません。Response.Redirectを上書きしてポートが来ないようにする方法

考えていること: 1. Response.Redirectを上書きして、そのポートを削除します。 2. web.configで何らかの設定をして、そのポートを無視します。 3.問題を解決する最も厄介な方法は、完全なURLをResponse.Redirect内で使用するようにアプリケーション全体を変更することです。これは大きな問題です。

この問題の解決策はありますか?

環境: Windows Vistaでは、Windows 2003 Serverで、Windows 2008のサーバー が6をIISには、IIS 7 ASP.NET C#の& VB.NET

答えて

5

ok、

私は自分自身で答えを得ました。私はこのソリューションが他の人にも役立つことを願っています。

回答はweb.config内にあります。 重要な部分が偽であることを、次のされ

<system.web> 
<httpRuntime useFullyQualifiedRedirectUrl="false" maxRequestLength="2526" requestLengthDiskThreshold="2526"/> 
</system.web> 

の下で。

useFullyQualifiedRedirectUrl="false" 

これはデフォルトで当てはまります。

0

あなたはそれがリダイレクトする必要があり、あるいは単にすることができますかServer.Transfer()を使用しますか?

+0

実際にリダイレクトする必要がありました。 – SevDer

0

明示的なポートを使用せずにロードバランサを通過するように、元のホスト名にリダイレクトします。リダイレクトはプログラムで構築されているため、問題を回避できるはずです。

+0

これは、とにかく私たちがやっていることですが、ポートが画像に入ります。そして私は既に多くのリダイレクトを持っています(それらの何百もの) – SevDer

関連する問題