目次
■ はじめに
HTML には <a> や <img> のように、外部ファイルを参照する方法がいくつもあります。
しかし、
-
あるファイルは参照できるのに、
-
別の場所のファイルは参照できない
という経験をした人は多いはずです。
実は HTML が参照できるファイルには
明確な技術的ルール があり、
さらに応用すると
「Webサーバーとは別のサーバー上の共有フォルダ」を
Webサイトとして公開することすら可能 です。
この記事では、
HTML が参照できるファイルの仕組みと、
IIS(Internet Information Services)を使って
別サーバーの共有フォルダをWeb公開する方法 をまとめます。
【第1部】HTMLが参照できるファイルとは?
■ HTMLが参照できるかどうかを決めるのは「URLだけ」
まず大前提として:
✅ HTML が参照できるファイルは
http:// または https:// でアクセスできるファイルのみ
これが絶対ルールです。
ブラウザは HTML のリンクをクリックすると、
-
そのURLに対して
-
HTTP(またはHTTPS)のリクエストを送り
-
Webサーバーからファイルを取得して
-
表示します
つまり、
Webサーバーが公開していないファイルは参照できません。
■ HTMLで参照できる “OK” な例
① Webサーバー上のファイル
これはもちろんOK。
② 同じWebサイト内の相対パス
これも Webサーバー上のファイルであるかぎりOK。
③ IISの仮想ディレクトリにあるファイル
物理フォルダはどこでも構いません。
URL として公開されていれば参照可能です。
■ HTMLで参照できない “NG” な例
❌ ① Windows のファイルパス
→ ブラウザはサーバーのファイルシステムにアクセスできません。
❌ ② ネットワーク共有(UNCパス)
→ SMB(ファイル共有プロトコル)はブラウザが扱えません。
❌ ③ file:// URI
→ 現代のブラウザはページからローカルファイルを参照することを制限しています。
■ 結論(基礎編)
✅ HTMLが参照できるのは「Webサーバーが公開しているURL」のみ
❌ OS上のパスや共有フォルダパスは参照できない
【第2部】実はできる:IISで「別サーバーの共有フォルダ」をWeb公開する
ここからが応用編です。
基礎の結論を見ると、
「共有フォルダのファイルをHTMLから直接開くのは不可能」
これは正しいのですが、実務ではこういう要求がよくあります。
-
ファイルサーバーに置いたPDFを
-
Webから参照させたい
-
でもファイルサーバーそのものにWebサーバーは入れたくない
-
物理的に別マシン
こういうときに役立つのが IIS の “仮想ディレクトリ” です。
■ 仮想ディレクトリとは?
IIS には、URL と物理フォルダを自由にマッピングする仕組みがあります。
例:
これにより、
物理フォルダがどこにあっても、
IISがURLとして公開してくれます。
■ UNCパス(別サーバーの共有フォルダ)もマッピングできる
これが今回のキモ。
✅ 別サーバーの共有フォルダ(UNCパス)を
✅ IIS の仮想ディレクトリとして公開できる
設定例:
こうすると、URL はこうなります:
つまり、
「Webサーバーとは別のマシンにある共有フォルダの中身」を
Webサーバー経由のURLとして参照できる。
これが本当に便利。
■ 構成イメージ
■ 設定手順(実務向け)
✅ ① IISマネージャを開く
対象のWebサイト → 右クリック → 「仮想ディレクトリの追加」
✅ ② 物理パスに UNC を指定
✅ ③ 認証の仕組みを決める
おすすめは:
-
公開PDF:Anonymous
-
内部限定PDF:Basic + HTTPS
-
社内認証:Windows Authentication
✅ ④ IISから共有フォルダへのアクセス権を付ける
IISが使うアカウントに以下を付与:
-
共有権限:Read
-
NTFS権限:Read
おすすめは、
Web公開専用のサービスアカウントを作成 して
アプリケーションプールの Identity に設定する方法。
✅ ⑤(必要なら)ダブルホップ問題に注意
Windows認証を使う場合のみ発生。
回避方法:
-
Kerberos SPN の登録
-
Constrained Delegation の設定
Anonymous や Basic 認証なら問題なし。
■ 使える場面(実務メリット)
-
PDFや画像などを置くだけでWeb公開したい
-
ファイルサーバー側の構成を変えたくない
-
別部門の共有フォルダをWebサイトに統合したい
-
Webシステムとファイルサーバーを分離したい
-
Windows認証によるアクセス制御を付けたい
情シス・教育機関・病院・自治体など、
どこでも使える強力なテクニックです。
【まとめ】
✅ HTML が参照できるのは「Webサーバーで公開されたURLだけ」
❌ OSのパスや共有フォルダパスは参照できない
✅ しかし IIS を使えば
別サーバーの共有フォルダすら Web のURLとして公開できる
つまり、
どんな場所のファイルでも、
IISさえあればHTMLから参照できる形に“変換”できる。
ということです。