私のサイト(テスト環境)に仮想ディレクトリがあります。これは、パブリックFTPとしても使用されるUNC共有です。
ドメイン管理者アカウントとして接続するように構成されており、「テスト設定」はすべてが機能しているように見えます。しかし、それに接続しようとすると、次のようになります。
500-"アクセスが拒否されたため、\ INTRANET\FTP\test\web.configで変更の監視を開始できませんでした"
これはASP.NET YSODです。それが私が要求している静的な.jpgファイルであるため、ASP.NETがまったく関与している理由がわかりません。
失敗した要求のトレースをオンにしてみましたが、これが特定のエラーです。
「物理パスログオンタイプ」をClearTextからネットワークに変更した場合。次のIISエラーが表示されます。
HTTPエラー500.19-内部サーバー
エラーページの関連する構成データが無効なため、要求されたページにアクセスできません。
詳細なエラー情報
- モジュールIIS Web Core
- 通知BeginRequest
- ハンドラ未定
- エラーコード
0x80070005
- 構成エラー権限が不十分なため構成ファイルを読み取れません
- 構成ファイル
\\?\UNC\INTRANET\FTP\test\web.config
リクエストされたURLhttp://test.mydowmain.com:80/uploads/images/ca49acf6-6174-412e-8abd-59fab983e931.jpg
物理パス
\\INTRANET\FTP\test\images\ca49acf6-6174-412e-8abd-59fab983e931.jpg
ログオン方法未定
- ログオンユーザー未定
- 失敗した要求トレースログディレクトリ
C:\inetpub\logs\FailedReqLogFiles
これは、失敗した要求ログを奇妙に生成しません。失敗した要求のトレースを、エラーコード400〜999のエラーを追跡するように設定しました。
また、IIS内から構成機能を開くと、アクセス拒否エラーが表示されることにも注意してください。
私は、ローカルの開発マシンでまったく同じUNCパスと同じユーザーが同じように設定されています。テストサーバー上では動作しません。
何が悪いのですか?
それがASP.netアプリであるという事実は、おそらく問題がここにあるものです。アプリケーションプールIDには権限が必要です(必ずしもIIS ID。デフォルトでは、アプリプールIDはローカルネットワークサービスアカウントです)。)また、おそらくcaspol.exeを実行する必要があります。 IISマシン。
http://msdn.Microsoft.com/en-us/library/cb6t8dtz%28v=vs.80%29.aspx
http://learn.iis.net/page.aspx/50/aspnet-20-35-shared-hosting-configuration/
%windir%\Microsoft.NET\Framework\v2.0.50727\caspol -m -ag 1. -url "file://\\remotefileserver\content$\*" FullTrust
Webサーバーとuncサーバーの両方で一致するアカウントを作成することで問題を解決しました。次に、ネットワークサービスではなく、一致するアカウントを使用して実行するようにアプリケーションプールを変更しました。これにより、他のネットワークサービスに依存する機能に影響を与えることなく、両方のサーバーでパスワードを同期する柔軟性が得られました。
この共有ソースがアプリケーション(イメージフォルダーなど)でない場合は、仮想ディレクトリを含むルートアプリケーションによって仮想ディレクトリが無視されるように構成してみてください(私の場合、ルートアプリプールのタイプを次のように変更してこれを完了しました)統合モードではなくクラシック)。しかし、共有ポイントにアプリケーションがある場合は、@ mfinniが述べた方法に従うことができます。
私はIIS= 7.5で同じ問題を抱えていました。解決策は次のとおりです:
\\<servername>\<sharename>
として入力しますIISが実行されているアカウントに、問題のあるUNCに対する適切な/必要な権限があることを確認するために確認する場合があります。
ドメインアカウントを使用して一部のドメインリソースにアクセスする非ドメインWebサーバーで同じ問題が発生しました。奇妙な動作が発生していました(資格情報が正しいことはわかっていても、コンテンツビューでフォルダーとファイルを表示できましたが、それらを "参照"できませんでしたが、 "テスト資格情報"は失敗しました)。解決策は、ドメインユーザーと同じ名前のローカルユーザーをマシン上に作成することでした。
これは、Webサーバーがドメインのメンバーであり、ローカルユーザーが仮想をマップするためにいくつかのローカルリソース(config?)にアクセスする必要がある場合にどうなるかを考えています。
それが誰かを助けることを願っています。