1

ISA Server をフロント エンド セキュリティ プロバイダとして使用するようにポータルを構成中です。
そのため、ISA Server 2006 SP1 を使用しています。

残念ながら、ISA Server を介して .net アプリケーションにアクセスすると、最初にアクセスされます。
つまり、これらはまだコンパイルされていないため、次のエラーが表示されます:
エラー コード: 500 内部サーバー エラー。パラメータが正しくありません。(87)

ISA 監視ログでは、次のように表示されます。

接続試行の失敗
ログの種類: Web プロキシ (リバース)
状態: 87 パラメータが正しくありません。

アプリケーションがコンパイルされると、エラーは表示されません。
これを解決する方法を誰かが知っているので、サイトは初めて正しく機能しますか?

いくつかの追加情報:

  • アクセスされた Web サイトは、Windows Server 2008 64 ビット - 標準版で実行されており、Sharepoint および標準の .net Web サイトで発生します。
  • ISA Server が Windows サーバー 2003 R2 SP2 標準版で実行されている
  • Windows Server 2008 ボックスのファイアウォールは、すべてのアクセスを許可します。(これを除外するため。)
  • IIS ログまたはファイアウォール ログに異常はありません。
4

3 に答える 3

0

この問題は、IISがWindows認証を受け入れるようにセットアップされているときにISAServerの認証委任値がNTLMに設定されていることが原因で発生しました。この組み合わせは、私の環境では問題のようです。

基本認証、またはその他の有効な組み合わせに変更すると正しく機能するため、別の認証委任設定を使用します。

于 2009-04-15T10:45:21.927 に答える
0

Web サイトを事前に準拠させることができます。それはもっと回避策です。

ASP.NET のコンパイル出力ディレクトリをクリアしようとしましたか? そこで葛藤することもあるでしょう。

%SystemRoot%\Microsoft.NET\Framework\versionNumber\Temporary ASP.NET Files
于 2009-04-15T04:29:14.513 に答える
0

今日も同じ問題が発生し (ISA 2006/sp1 は ISA HTML フォーム認証を介して SharePoint を発行し、NTLM 認証を通過)、デバッグに数時間を費やしました。そうです、それをトリガーするページをコンパイルする必要があり、IISRESET だけが問題を引き起こします。アプリ プールのリサイクルは行われません。基本認証は機能しますが、NTLM は機能しません。修正のために読んでください。

IIS のログを見ると、奇妙な点があることがわかります。つまり、特定の HTTP 要求に対する IIS からの 401 応答と、ちょっとしたヒントがあります。

... GET /auth.aspx - 80 - ... Mozilla/4.0+(compatible;...) 401 1 2148074254 734

エラー コード 2148074254 ( 0x8009030e SEC_E_NO_CREDENTIALS ) に注意してください。通常のチャレンジ/レスポンス交換では、これは「5」になります。

これにより、さらに曲がりくねったデバッグ パスをたどり、最終的に問題が IIS 7 のカーネル モード認証が既定で有効になっていることにあることがわかりました。オフにした場合:

%windir%\system32\inetsrv\appcmd set config -section:windowsAuthentication -useKernelMode:false

...問題は解決します。この投稿には、誰もがこの技術的な理由を掘り下げるのに十分な情報があるので、ここでわざわざ逆らうことはしません。

-オイシン

于 2010-06-09T00:31:25.207 に答える