HTTP Error 401.3 - Unauthorized
Windows で Webページ を公開する際には IIS (インターネットインフォメーションサービス) を使用できます。そして、Webページのコンテンツを別のPCから更新するためには、古くからFTPが用いられてきました。
が、Windowsの「共有フォルダ」機能を使ってWebページのコンテンツを差し替えようとしたところ、個人的には想定外の挙動をしたので記録しておきます。
再現方法
- 一般的な手順で IIS を設定して Webページ を公開します。ローカルホストや他の PC から内容を参照できることを確認します。
- Webページ のルートディレクトリ(デフォルトでは C:\inetpub\wwwroot)を、Windowsファイル共有機能 を用いて共有します。
- この段階で再びWebサイトにアクセスしようとすると、HTTP Error 401.3 - Unautorized 等のエラーが表示されます。条件によっては文字化けしたメッセージが表示される等様々な現象が起こります。
解決方法
ルートディレクトリのアクセス設定を追加します。
- エクスプローラでルートディレクトリを右クリックし、プロパティを開きます。IISマネージャーの アクセス許可の編集... をクリックしても同じ画面が開きます。
- セキュリティ タブ中の 編集 ボタンをクリックします。
- (ルートディレクトリ名) のアクセス許可 というタイトルのウィンドウが開くので、追加 ボタンをクリックします。
- ユーザー または グループ の選択 というタイトルのウィンドウが開くので、選択するオブジェクトを入力してください とある欄に Users と入力し、名前の確認ボタンをクリックします。
- 先程入力した Users が、設定で使用できる形式に修正されますので、OK ボタンをクリックします。
- (ルートディレクトリ名) のアクセス許可 というタイトルのウィンドウに戻ってくるので、必要そうなアクセス許可を与えておきます。読み取りと実行、フォルダーの内容の一覧表示、読み取り の3つが良いでしょうか...
- OK ボタンを順次クリックすることで、プロパティ を閉じます。
気を付けたい事
この様なアクセス設定がどの様なリスクをもたらすか調査中です。許可する範囲が広過ぎる様に感じます。もっと絞ったユーザにのみ権限を与える方法を探索しましたが、2023年2月現在のところ上手くいっていません。
そもそも、Windowsファイル共有でWebページを更新する方法はあまり良くない考えかもしれません。結局私は他の方法を使う事にしてしまいました...。