- - PR -
ノータッチデプロイメントでconfigファイルの読み取りに失敗
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-05-14 18:01
ノータッチデプロイメントをWindowServer2003をサーバとして実装したいのですが、クライアントにて、configファイルをGETできていないようで、動きません。(IISログでconfigをGetするときに404エラーがでてる)
XPをサーバにしてみると動作します。 同じような問題に遭遇したなど、関連情報がありましたら、ご指導お願いいたします。 | ||||
|
投稿日時: 2005-05-14 19:03
ヘルプのどこかにはっきり書いてあるはずですが、デフォルトでは、拡張子.config はダウンロード禁止として設定されています。 でないと、ASP.NET アプリケーションの web.config がダダ漏れになってしまい、セキュリティのも何もあったもんじゃありません。 「サーバから(直接).config をダウンロードさせる」のは止めて、別な方法を模索する他無いと思います。 _________________ // 渋木宏明 (Hiroaki SHIBUKI) // http://hidori.jp/ // Microsoft MVP for Visual C# // // @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/ | ||||
|
投稿日時: 2005-05-14 19:32
渋木様
お返事ありがとうございました。 今回は、Webアプリではなく、WindowsアプリをND(ノータッチ)で配布ですので、configはWeb.configでなく、exe名称.configの読み込みの問題です。 セキュリティ面はVPNを使用してセキュリティレベルをあげることとなっています。 | ||||
|
投稿日時: 2005-05-15 03:04
ということなら、お好きなだけ IIS の設定を緩めてください。 一応もう一度注意しておきますが、ダウンロードの許可は拡張子に対してしか設定できません。 なので、.exe名称.config のダウンロードを許可するにためには、拡張子 .config 全般に対するダウンロード許可する他ありません。 そうすると、結果的に Web.config も(URL さえ知っていれば)ダウンロードできる状態になってしまい、セキュリティ的にはよろしくないということです。 _________________ // 渋木宏明 (Hiroaki SHIBUKI) // http://hidori.jp/ // Microsoft MVP for Visual C# // // @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/ | ||||
|
投稿日時: 2005-05-15 14:34
確か.NET Frameworkの1.1以降?では、
*.exe.configに対しては*.configと別のハンドラが割り当てられていて デフォルトだと普通にダウンロードできたと思います。 とりあえず、IISとASP.NETのどちらで切られてるか分からないですかね? | ||||
|
投稿日時: 2005-05-15 15:29
できましたっけ? IIS の拡張子マッピングを見てみましたが、.exe.config の設定は見当たりませんでした。 # 見たのが XP=IIS5 だから? _________________ // 渋木宏明 (Hiroaki SHIBUKI) // http://hidori.jp/ // Microsoft MVP for Visual C# // // @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/ | ||||
|
投稿日時: 2005-05-15 16:26
南部です。 試してみました。 環境: Window Server 2003 SP1 .NET Framework 1.1 SP1 (サーバ、クライアントは同一マシン) test.exe.config ⇒ ○ test.config ⇒ エラーページ Web.config ⇒ エラーページ サブディレクトリにおいても同様でした。 machine.configで <httpHandlers> : <add verb="GET,HEAD" path="*.exe.config" type="System.Web.StaticFileHandler" /> <add verb="*" path="*.config" type="System.Web.HttpForbiddenHandler" /> : </httpHandlers> のようにハンドラが定義されてますので、、、 というか、404?403ではなく? ファイル名間違っていません? | ||||
|
投稿日時: 2005-05-15 21:16
多分、IISのマッピングでは拡張子の最後の部分でしか設定できないので、 IISでは.configでまとめて設定、ASP.NETのハンドラで切り分けってことじゃ ないですかね。 で、まず、nanbuさんのように想定のexe名.configをIEとかから直接指定してみて 正常に読み込めるかを確認してみたらどうでしょうか? あと、IISのログを見たということですが、リクエストのURLはちゃんと想定通りになってるでしょうか? |