昨日行われた Ignite のキーノートで Windows Server 2016 について発表があり、Azure の仮想マシンで Technical Preview 2 が使えるようになっていたので、何時ものように IIS 周りだけ見ようかと思います。
発表内容については、まとめる速度 No.1 の抱かれたい男 No.1 ブログを見れば問題無いです。
Microsoft Ignite 2015 Keynote | ブチザッキ
基本的にイベントのキーノートでの発表内容や Azure のアップデートに関しては、朝起きるまでに No.1 がブログでまとめておいてくれるので、これからも安心して眠ることが出来ます。
IIS 10.0
クライアント向けの IIS Express は既に 10.0 になっていたみたいですが、Windows Server の方も IIS 10.0 になったようですね。単純に OS とバージョンを合わせただけで、特に意味は無いと思いました。
ただし、これが互換性に影響するとは誰も思っていないのであった…。
HTTP/2
前の Technical Preview の時点で HTTP/2 Draft 14 への対応が入っていましたが、このリリースでは最新の仕様へ対応するようにアップデートされたようです。
ALPN で使われる識別子が h2-14 から h2 に変わっていました。
仮想環境のFirefox / Chrome では HTTP/2 で問題なく通信できました。Internet Explorer と Spartan は仮想環境だと何故か落ちてしまったので確認出来ませんでした。
Server Push にはまだ対応していない気がしましたが、今後の情報公開に期待したいです。
Request Filtering アップデート
Azure Web Apps だけで使えていた Request Filtering モジュールでの Server ヘッダー削除機能が、IIS 10.0 から標準で使えるようになっていました。
QFE として Web Apps にはインストールされてましたが、取り込まれたみたいです。
バージョンが 10.0 になった影響
Windows Server TP 2 で Web PI を使って URL Rewrite や ARR をインストールしようとすると、IIS 7.0 以上が必要と言われてエラーになってしまいました。
Windows 10 のカーネルバージョンが 6.4 から 10 に変更された時に言われていた互換性の問題が、先に IIS 10.0 で発生してしまった感じがあります。
既に IIS Forum で質問が上がっていましたが、回答が IIS のバージョン文字列をレジストリ弄って 9 にしろという、最高に後ろ向きな解決方法でした。IIS のモジュールは最近更新が無いので少し心配です。