locked
IISの基本認証のエラーについて(1度のアクセスのみ500のレスポンスコードが出力する) RRS feed

  • 質問

  • IISサーバを構築しているのですが、基本認証をさせるページでエラー(500)が発生してしまいます。

    厳密に把握できておりませんが、1度目のアクセスでレスポンスコード500が出て、2度目のアクセスで基本認証が出力します。

    また、時間を少し開けると、1度目のアクセスでエラーが再発します。

    原因とエラーがでないよう設定したいのですが行き詰まりまして、ここにご相談させてもらった次第です。ご教授いただけませんでしょうか。

    環境

    Windows 2016 IIS 10

    承認規則:許可 すべてのユーザー

    認証:基本認証のみ有効

    SSL設定:なし

    物理パス:ローカルディスクにパスを設定

    アクセス権限:特定のサーバグループにアクセス権限を設定しております。(ユーザはドメインで管理しているユーザを追加している形となります。)

    至らぬ情報がございましたら、ご指摘お願いします。

    2019年8月27日 1:33

すべての返信

  • 今提供されている情報では、少なくとも自分は見当もつきません。

    Fiddler を使って要求・応答をキャプチャして、期待通りのやり時が行われているかどうか調べてはいかがでしょう? そこに解決のためのヒントがありそうな気がします。

    具体的には以下の記事を見てください。

    基本認証
    http://surferonwww.info/BlogEngine/post/2015/11/23/basic-authentication.aspx

    2019年8月27日 2:45
  • 事象が発生しているのは ASP .NET でしょうか。cgi でしょうか。クラシック ASP でしょうか。
    あるいは、静的な HTML へのアクセスでも同じ事象なのでしょうか。

    初回のみとのことなので、セッション Cookie が無い(あるいは期限切れ)の状態で発生する事象と推察しています。

    まずはエラー 500 の原因を突き止める必要があると思いますが…500.x などの枝番は無く、ただの 500 なのですね。
    ひとまずはエラー原因の特定のために、「失敗した要求のトレース」を仕掛けてみては如何でしょう。

    2019年8月27日 2:54
  • 事象が発生しているのは、静的なコンテンツとなります。

    また、エラーとしては500となっております。

    ご紹介いただいた、失敗した要求のトレースを参照して確認してみます。

    2019年8月27日 4:50
  • Fiddler を使う案は無視ですか?
    2019年8月27日 5:08
  • ご返信がおくれて申し訳ございません。

    お恥ずかしながら、初めてお聞きしたソフトでしたので端末に導入可能か確認しているところです。

    導入可能なものであれば、すぐに導入し確認したいと思っております。

    2019年8月27日 6:37
  • > 初めてお聞きしたソフトでしたので端末に導入可能か確認しているところです。

    Fiddler で検索するとダウンロードできるサイトとか使い方を書いた記事がいろいろヒットするのでやってみましょう。解決する気があるならインストールして使うことをお勧めします。


    > 事象が発生しているのは、静的なコンテンツとなります。
    > また、エラーとしては500となっております。

    500 はサーバーエラーで、ASP.NET などの動的コンテンツをサバ―のメモリにロードして処理を行っているときに例外がスローされた時などに応答として返すもので、静的コンテンツということは考えにくいです。

    静的コンテンツに間違いないですか? それは具体的にどういうものですか?

    そもそも、基本認証が有効になっていてその他のすべての認証(特に匿名認証)が無効になっていれば、

    IIS は url に指定されたリソースを探しに行く前に 401 応答を返し(500 エラーは出ない)、結果以下の画像のダイアログ(IE11 の場合です)が表示されるはずです。

    それから、Web アプリケーションは何ですか? ASP.NET であれば web.config の customErrors 要素の設定(mode="Off" にする)でブラウザに詳細なエラー情報が表示されますが、そういった情報はありませんか?


    • 編集済み SurferOnWww 2019年8月28日 0:14 誤字訂正
    2019年8月28日 0:12
  • >静的コンテンツに間違いないですか? それは具体的にどういうものですか?

    画像や文字のみを表示しているだけのコンテンツになります。

    >Web アプリケーションは何ですか?

    IISを導入した際に、ASP.NETが入っているみたいで、IISのウェブサイトホームのメニューにASP.NETがございます。

    2019年8月28日 4:22
  • 魔界の仮面弁士様

    IISのトレース設定を実施したところ以下のログが出力しました。※こちらの都合により一部マスキングさせてもらってます。

    初回は500がでるが、その後ブラウザでF5を押し基本認証させた結果のログです。

    #Date: 2019-08-28 04:26:28
    #Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Referer) sc-status sc-substatus sc-win32-status time-taken
    2019-08-28 04:26:28 10.***.***.*** GET /testpage - 80 - 10.***.***.*** Mozilla/5.0+(Windows+NT+10.0;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko http://intra.site.com/test/testpage_Login.html 500 19 5 62
    2019-08-28 04:26:33 10.***.***.*** GET /testpage - 80 - 10.***.***.*** Mozilla/5.0+(Windows+NT+10.0;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko - 401 2 5 0
    2019-08-28 04:26:51 10.***.***.*** GET /testpage - 80 domain\user01 10.***.***.*** Mozilla/5.0+(Windows+NT+10.0;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko - 301 0 0 515
    2019-08-28 04:26:51 10.***.***.*** GET /testpage/ - 80 domain\user01 10.***.***.*** Mozilla/5.0+(Windows+NT+10.0;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko - 200 0 0 0
    2019-08-28 04:26:51 10.***.***.*** GET /favicon.ico - 80 - 10.***.***.*** Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64;+Trident/7.0;+rv:11.0)+like+Gecko - 404 0 2 0


    • 編集済み izumoto 2019年8月28日 4:37
    2019年8月28日 4:36
  • > >静的コンテンツに間違いないですか? それは具体的にどういうものですか?
    >
    > 画像や文字のみを表示しているだけのコンテンツになります。

    もっと具体的に書いてください。「画像や文字のみを表示しているだけ」でも、例えば拡張子に .aspx とついていれば動的コンテンツで ASP.NET のページとしてサーバーで処理されます。


    > >Web アプリケーションは何ですか?
    >
    > IISを導入した際に、ASP.NETが入っているみたいで、IISのウェブサイトホームのメニューにASP.NETがございます。

    それは一体何なのでしょう? ブラウザから呼び出している URL を書いてください。

    質問者さん自身が何をしているのか分かってなくて、話が通じてないように思われます。質問者さんの近くに直接聞ける人がいないか探して聞いた方がよさそうです。掲示板での文章のやり取りで解決するのは難しそうです。
    2019年8月28日 4:58
  • それは 失敗した要求トレースの規則 の設定によって取得されるトレースログでは無く、ログ記録 の設定によって取得されるアクセスログ ですね。

    今回見るべきは
    C:\inetpub\logs\LogFiles\*\*.log ではなく、
    C:\inetpub\logs\FailedReqLogFiles\*\*.xml のほうです。
    (実際のフォルダーの場所は環境によって異なりますが)

    2019年8月28日 6:00
  • 500のレスポンスコードが出力しなくなりましたので、本質問をクローズさせていただきます。

    皆様いろいろご教授、ご指摘いただきましてありがとうございました。

    ■事象の解決した流れ

     IIS機能のオプション(ASP.NET)を削除したところ、500のレスポンスコードが出力しなくなり、

     設定を変更せずそのまま想定通りの基本認証が行えるようになりました。

    質疑以前に知識が不足しており、申し訳ございませんでした。

    ご協力いただきました皆様ありがとうございました。

    2019年8月29日 3:56
  • その「IIS機能のオプション」というのは具体的になにかを書いてください。

    具体的に何かが分からないので 100% 断定できませんが、それはたぶん対症療法的な対応で、真の問題は他にあると思います。ちなみに自分の環境の IIS10 では ASP.NET は動くように設定しており(下の画像参照)、その状態で上のレスに書いた通り期待通りの動きになります。


    • 編集済み SurferOnWww 2019年8月29日 5:50 画像追加
    2019年8月29日 4:49
  • SurferOnWww様

    仰られるとおり、ASP.NETを削除したところで、事象の解決には至らずその後時間が経過したら再発しました。

    その後、IISで公開しているフォルダにIIS_IUSRSを追加したところ、事象が発現しなくなりました。


    • 編集済み izumoto 2019年9月2日 7:40
    2019年9月2日 6:48
  • > ASP.NETを削除したところで、事象の解決には至らずその後時間が経過したら再発しました。

    その「時間が経過したら再発」というところが不可解ですね。こういう話は時間の経過は関係ないと思うのですけど・・・


    > その後、IISで公開しているフォルダにIIS_IUSRSを追加したところ、事象が発現しなくなりました。

    IIS_IUSRS というのは IIS のワーカープロセスが属するグループですが、IIS_IUSRS にフォルダに対する読み取り権限を与えたということですよね。

    でも、ワーカープロセスのアクセス権の問題は、

    > 1度目のアクセスでレスポンスコード500が出て、2度目のアクセスで基本認証が出力します。

    という現象に結びつかないと思うのですが・・・ 

    ワーカープロセスが web.config を読みに行ったがアクセス権が無いから拒否された?

    「IIS_IUSRSを追加」する前は、最初の質問に書いてあった「2度目のアクセスで基本認証」で ID とパスワードの入力して正常に応答は返ってきたのでしょうか?

    だとすると、ワーカープロセスにアクセス権がないのにそういうことはあり得ないはずで、これも不可解です。

    すみませんが今提供されている情報では原因は何だか分かりません。再発したら教えてください。

    • 編集済み SurferOnWww 2019年9月2日 14:05 誤字訂正
    2019年9月2日 14:05
  • >その「時間が経過したら再発」というところが不可解ですね。こういう話は時間の経過は関係ないと思うのですけど・・・

    一度500のエラーが出たあとしばらく基本認証されず、またエラーも出ない事象でした。※時間間隔は不明

    お伝えできてなくて申し訳ございませんでした。

    あと、本環境ではweb.config は、作成しておりません。

    「IIS_IUSRSを追加」する前は、最初の質問に書いてあった「2度目のアクセスで基本認証」で ID とパスワードの入力して正常に応答は返ってきたのでしょうか?

    はい、1度目は500のエラーすぐさま再接続すると、認証画面が出力し認証させる事ができました。

    そのごしばらく500のエラーは出力しませんでした。

    • 編集済み izumoto 2019年9月4日 6:18
    2019年9月3日 1:55