しばやん雑記

ASP.NET とメイドさんが大好きなフリーランスのプログラマーのブログ

IIS

Application Request Routing (ARR) と Nginx で機能とパフォーマンスを雑に比較してみた

IIS

先日、Application Request Routing と Nginx の両方でロードバランサーを構築する話を書いたので、実際に動かしてみてパフォーマンスを調べてみました。構築を行った話については、以下のリンクを参照してください。IIS に Application Request Routing (AR…

IIS に Application Request Routing (ARR) をインストールしてロードバランサーを構築してみた

IIS

IIS と ARR を使って簡単なリバースプロキシを作るのはとても簡単だったので、今回は Server Farm を作成してロードバランサーを構築してみたいと思います。実際に作ってみる前は複雑そうな気がしていたんですが、実際には IIS Manager からあっさりと出来ま…

Application Request Routing (ARR) を使う場合に必ず設定しておきたい項目

IIS

最近は ARR を Azure に作成して遊んでいるので、デフォルトのままだと後で困りそうな設定を紹介しておきます。思ったより ARR の情報が少ないので頑張っていきたい。 クライアント IP アドレスの保存 ARR を使ってリバースプロキシを設定すると、アクセスさ…

HttpPlatformHandler に追加された processesPerApplication を検証してみた

IIS

HttpPlatformHandler に新しく追加された processesPerApplication の挙動が気になったので簡単に検証してみました。動かすアプリとしては手軽な Go を選びました。テンプレ的なコードですが、Martini を使った最低限のサーバーを用意します。 package main …

HttpPlatformHandler が IIS 8 以降の拡張機能として正式にリリースされていました

IIS

IIS Express についてフラフラと IIS 公式サイトを調べていたら、HttpPlatformHandler がダウンロード可能になっていることに気が付きました。HttpPlatformHandler v1.0 : The Official Microsoft IIS SiteHttpPlatformHandler については httpPlatformHandl…

IIS 7 以降でのアプリケーションプールと権限について調べた

IIS

今日、IIS 周りの設定を行っている時に「お前 ASP.NET/IIS の MVP のくせに IIS のこと何も知らないのかよ!」と説教され、そういえば IIS の上っ面しか使ってないと思ったので、理解が中途半端だったアプリケーションプールと権限について調べました。ちな…

URL Rewrite の Outbound Rule を使って HTTP レスポンスヘッダを書き換える

IIS

IIS の URL Rewrite でリクエストの Origin を見て Access-Control-Allow-Origin を書き換えることが出来ないか調べました。仕様的にはスペース区切りで複数のオリジンを定義出来るみたいなんですが、どうも実装がまだ追いついていないブラウザもあるような…

httpPlatformHandler をもっと面白く使っていきたい

Azure Web サイトが Java に対応した時に同時に追加された httpPlatformHandler ですが、何か面白い使い方があると思うので軽くまとめておきます。まずはちょっと似てる ARR と httpPlatformHandler の違いから簡単に。 ARR の場合 ARR の役割はリバースプロ…

IIS で SSL 3.0 を無効にする方法

IIS

今朝は SSL 3.0 の脆弱性が話題になっていますね。ちなみに私も影響を受けました(死SSL 3.0に深刻な脆弱性「POODLE」見つかる Googleが対策を説明 - ITmedia ニュース困らされて悔しいので、SSL 3.0 を IIS で無効化する方法を調べました。相変わらずレジス…

Windows Server Technical Preview の IIS というか http.sys の HTTP/2 有効 / 無効を切り替える方法

IIS

Windows Server Technical Preview の IIS というか http.sys が HTTP/2 に対応していたらしい - しばやん雑記 では IIS に HTTP/2 周りの設定が無いと書きましたが、色々とほげほげした結果 http.sys には設定が見つかったので紹介しておきます。Microsoft …

Windows Server Technical Preview の IIS というか http.sys が HTTP/2 に対応していたらしい

Windows Server Technical Preview には正直あまり興味が無かったんですが、今日に IIS でも HTTP/2 が使えたという話が Twitter で流れてきたので早速 Azure の仮想マシンに入れて試しました。IISもHTTP2喋るぞ!! pic.twitter.com/keYrGk0baj— ゆき (@fla…

ASP.NET と IIS の HTTP エラー処理を理解する

以下のような ASP.NET アプリケーションのエラー画面を見たことない人は、ASP.NET 開発者にはいないと思います。この画面を本番環境では出すわけに行かないので普通はカスタマイズしますよね。しかし、ASP.NET では 404 をアプリケーション的に返しているの…

Windows Azure Web サイトの管理を IIS Manager から行えるようになったらしい

Kudu で applicationHost.config を見ているときに /InetMgr の設定があるなぁと思っていたら、IIS Manager から Web サイトの設定を行えるようになっていたようです。Remote Administration of Windows Azure Websites using IIS Manager - Windows Azure -…

Windows Azure Web サイトのリバースプロキシでエラーになった件を解決した話

Windows Azure Web サイトで Perl を動かそうとしたらリバースプロキシでエラーになる件 - しばやん雑記 の続きで、問題を解決できたのでメモしておきます。Web サイトのリバースプロキシである ARR 部分で 502 になってしまっていて、ログも出せずに原因不…

URL Rewrite でサブディレクトリへの書き換えを行うコツ

IIS

Windows Azure Web サイトなどで PHP を使ったアプリケーションを開発する際に、割と問題になるのがドキュメントルートです。PHP や Ruby などのフレームワークは public というディレクトリ内が HTTP から見えるという想定で作られています。つまり、public…

OWIN を加速させる IIS と Helios の関係

突如として公開された Helios という謎のライブラリを知っている人はどのくらいいますか?Twitter ではこちらのブログ記事が割とシェアされていたりするんですが、冒頭に書いてある通り MVP Global Summit のセッションで発表されたライブラリです。*1Checki…

WebMatrix 3 と iisnode の環境で WebSocket を有効にする方法

WebMatrix 3 を使うと簡単に Node.js と Socket.IO の開発環境を作ることが出来ますが、Socket.IO で WebSocket を使おうとするとコネクションが途中でフリーズしてしまいます。本来なら 101 Switching Protocols で HTTP から WebSocket への切り替えになる…

IIS と Vary ヘッダと HTTP 圧縮モジュールのバグ

id:Waquesseix この記事を読んで早速vary: user-agentを追加しようと思ったら、なんかバグでvaryが変えられない(圧縮をオフにしない限り)みたいでがっくりしました。。。 ASP.NET でカスタム HTTP ヘッダを追加する方法 - しばやん雑記 そういえば、ASP.NET …

ASP.NET でカスタム HTTP ヘッダを追加する方法

機密情報を含むJSONには X-Content-Type-Options: nosniff をつけるべき - 葉っぱ日記この記事を見て、そういえば ASP.NET でカスタム HTTP ヘッダを追加する方法を知らないなと思ったので、Web.config だけで解決できないか調べてみました。結論から書くと…

IIS Express で仮想サイトに複数のホスト名を割り当てる

IIS

Web サービスの開発をしていると、デフォルトである localhost:12345 というホスト名ではなくて www.mydomain.com みたいに、ちゃんとしたホスト名でテストする必要が出てくると思います。特に Area をサブドメインに振っている場合などはテスト自体できない…

HTML5 オフラインキャッシュを使ってみた

とあるアプリの開発で HTML5 のオフラインキャッシュを使ってみたので、ちょっと使い方を ASP.NET 的な視点で書いておきます。 キャッシュマニフェスト オフライン用にキャッシュしたいファイルを定義するファイルで、実体は非常に簡単なテキストファイルに…

IIS 7.0 で静的コンテンツのクライアントキャッシュを有効にする

IIS

要素の 要素は、インターネット インフォメーション サービス (IIS) 7.0 が Web クライアントに送信するキャッシュ関連の HTTP ヘッダーを指定します。これは、IIS 7.0 から返されるコンテンツを Web クライアントとプロキシ サーバーでキャッシュする方法を…