ASP.NET MVC3でSSL接続のデバッグを行う

このところ、小説を読みふけっていたこともあり技術的な内容のキャッチアップが滞っていたわけですが、今週くらいから少しずついろいろと始めています。お題は相変わらずASP.NET MVC3なわけですが、少しずつ理解が進んできて楽しくなってきました。

で、現在構築中のシステムですがようやっとログイン認証やらパスワード変更機能を実装し終わりちょっとシステムっぽくなってきました。そろそろ自分で使ってみようかと思い先日借りたVPSへディプロイしようと思ったわけですが、どうにもSSLの設定がわかりませんでした。いくらオレオレシステムでも、パスワード認証をSSL以外で行うのは抵抗があったので何とかしてSSLを使いたいといろいろ調べてみたわけです。

ASP.NET MVC3でSSLを利用する

SSLを利用するには2つのステップを踏む必要があるようです。1つめが、該当するコントローラの属性に [RequireHttps] を付与すること、2つめがIISで自己証明書でよいので証明書を作成し該当する仮装ディレクトリでSSL認証を利用できるようにすることです。この二つを行うことでASP.NET MVC3で構築したシステムにSSLを適用することができます。

[RequireHttps]属性を付与したコントローラでデバッグする

ここまでは問題なく進んだわけですが、次にVisualStudioからデバッグをしようとするとSSLが必要云々というエラーメッセージが表示されデバッグどころか画面さえ表示することができなくなってしまします。どうも、VisualStudioが利用している開発サーバーではSSLでのデバッグは行えないようです。

いろいろとネットの海をさまよったところIIS Express 7.5を利用することでデバッグが可能だということを知りました。なんだか最近VisualStudioの開発環境構築のメリットが薄れてきているなぁと思いつつもインストールしてみることにしました。以下設定メモです。

1.IISのダウンロードとインストール

IIS Express 7.5をインストールします。ダウンロードは こちら から行えます。

2.SSLを利用できるようにプロジェクトのプロパティを設定する

対象となるASP.NET MVC3のプロジェクトを選択しプロジェクトのプロパティを表示してSSLを有効にします。

3.IIS Express 7.5の利用とSSLの設定

プロジェクトを右クリックし Alt + Enterによりプロジェクトのプロパティ画面を表示しWebを選択する。通常であれば、「Visual Studio開発用サーバーを使用する」が選択されているので、「IIS Webサーバーの使用」へ変更する。また、プロジェクトのURLには2のプロジェクトのプロパティで表示されている SSL URL の内容を設定する。

これで設定は完了です。後は通常通りVisualStudioからデバッグ実行すればSSL接続された状態で画面が表示されるようになります。