2016-12-20 16 views
1

Apache 2.4.6を実行しているCentOS 7は、インターネットに接続する中央フロントサーバーとして機能します。このように、いくつかのリバースプロキシ接続が設定されています。彼らはすべて他のLAMPsを指し、素晴らしい仕事をしています。しかし、私はそれらの1つを実行しているIISサーバーを持っています.Net/ASP Webサイトは、正しくロードしたくありません。 Apacheで以下の設定を使用すると、IISウェブサイトはhtmlの&のCSSのすべてを読み込みます。IISへのApacheリバースプロキシ

<VirtualHost *:80> 
    SeverName example.com 
    ProxyRequests Off 
    ProxyPreserveHost On 
    ProxyPass /extDirectory/ http://internalserver/internalDirectory/ 

    <Location /extDirectory/ > 
     ProxyPassReverse http://internalserver/internalDirectory/ 
     Order allow,deny 
     Allow from all 
    </Location> 

</VirtualHost> 

外部サイトにアクセスしながら、このスクリーンショットあたりのセッションIDの事故があったようだが: internal-is-OK

Apacheのログと何私ができる:アクセスと同じ内部サイトと比較すると External-gets-error

IISのログから収集するとエラーが表示されません。私が得ている唯一のエラーは、開発ツールでIEのbuil; tを使用しているときで、正常にログインしていても "200 Authorization not found"が表示されています。

答えて

1

ASP.Net開発者がソフトウェアに修正を加えたため、Apacheを使用してこれを修正できませんでした。

エンタープライズは、サーバーに送信される各要求を認証するために使用される認証トークンを作成します。すべてのAJAXリクエストは有効な認証トークンを持っていなければなりません。そうしないと、拒否されます。トークンの一部はエンドユーザーのIPアドレスです。 AJAX要求のIPアドレスが元のログイン要求と異なる場合、トークンの検証は失敗し、AJAX要求は拒否されます。 Enterprise v6.5.2は、HTTP_X_CLUSTER_CLIENT_IP、HTTP_X_FORWARDED_FOR、REMOTE_ADDRの順に3つの特定のHTTPヘッダーを検索して、エンドユーザーのIPアドレスを判別します。プロキシサーバーがAJAX要求に対して異なるIPアドレスを送信している可能性があり、トークンの検証が失敗し、AJAX要求が拒否されることが考えられます。

オープンエンタープライズのweb.configと上部付近の右要素の下に次の行を追加します。

<add key="USER_HOST_ADDRESS" value="127.0.0.1" /> 

を保存して閉じますweb.configファイル、その後、IISを再起動します。

それです。 ApacheではなくASP.NETの問題に変わりました。

関連する問題