MS_IIS - NetDevInfraWGinOSSConsortium/NetDevInfraWiki GitHub Wiki

IIS

概要

IIS(Internet Information Services)は、Windows 標準の Web サーバーである。

  • Windows Server では「Web サーバー (IIS)」というサーバー ロール、
    クライアント OS では「Windows の機能」として追加する。
  • ASP.NET / ASP.NET Coreのホストとして使われる。

主要トピック

補足(最低限おさえたい構造): 元ページはリンク集の形なので、
ここで IIS の骨格だけ補っておく。トラブルシュートの起点になる。

概念 役割
サイト バインド(IP / ポート / ホストヘッダー)で識別される単位
アプリケーション サイト配下の仮想パス。1 つのアプリケーション プールに属する
アプリケーション プール ワーカー プロセス w3wp.exe の単位。プロセス分離実行 ID の境界
仮想ディレクトリ 物理パスへの別名。認証情報を持てる

「別サイトの不具合が波及した」「片方だけ再起動したい」といった話は、
ほぼアプリケーション プールをどう分けたかで決まる。

実行アカウントの既定は IIS 7.5 以降 ApplicationPoolIdentity仮想アカウント)で、
詳細はサービス・タスク系のアカウント問題を参照。

詳細

補足(ASP.NET Core のホスティング モデル): ASP.NET Core
IIS 上で動く際、従来の ASP.NET とは構造が異なる

モデル 動作
In-Process(既定) w3wp.exe の中で Kestrel 相当を動かす。速い
Out-of-Process IIS はリバース プロキシとして働き、別プロセスの Kestrel に転送する

どちらも ASP.NET Core Module (ANCM) というネイティブ モジュールが仲介する。
ANCM は HttpPlatformHandler の後継にあたる。
「IIS に配置したのに 500.19 / 500.30 が出る」という定番のトラブルは、
ほぼ ANCM の未インストール(Hosting Bundle 未適用)が原因である。

参考

microsoft.com

Web/DB プログラミング徹底解説

Qiita


Tags: 移行, Windows, IIS

⚠️ **GitHub.com Fallback** ⚠️