IISでhttps対応のサイトをつくるには
WebサイトのフルSSL化が標準になりつつある今、SSLの導入は必須になります。
備忘録として設定手順を掲載します。(参考にされる場合は、自己責任でお願いします。。。)
※環境はWindows Server 2016 IIS10です。
※ドメイン認証の場合です。
iis https化の簡単な流れは下記の通りです。
- CSRの作成
- SSL証明書の購入
- ドメインの所有認証
- SSL証明書の発行
- サーバに設置
- Web.configでSSL強制リダイレクト
CSRの作成方法
まずは下記の手順でCSRを作成します。
- サーバー証明書を選ぶ
- 証明書の要求の作成を選択
- 一般名にサイトのコモンネームを記載します。
www.machdesign.netにSSLを当てたい場合は「www.machdesign.net」 - 組織などは当てはまる内容を入れます。
- 暗号化サービスプロバイダーの設定
ビット長は2048を選ばせる場合が多いような気がしますが、提供業者のマニュアルを確認しましょう。 - 証明書の要求ファイル名を指定します。
出力したい場所を選び終了を押します。
SSL証明書の購入
該当箇所にCSRができていますので、これをコピーしてSSL証明書の提供業者よりSSL証明書を購入します。
購入するときにCSRの貼り付ける箇所があるので、コピペします。
ドメインの所有認証
URLの確認するため、提供業者より認証方法のメールが来るので、指示に沿って行います。
Webサーバーに「指定のテキストファイル」を置いて認証するケースが多い感じです。
提供されたテキストファイルサーバーに置き、認証が通るのを待ちます。
SSL証明書の発行
認証が通ると無事にSSL証明書が発行されます。
発行された証明書をサーバーに移動します。
※場合によっては中間証明書なども設置する必要があります。
サーバに設置
IISを再度立ち上げ、下記の手順で設置します。
- ファイル名で発行された証明書を指定し、フレンドリ名を入力します。
- フレンドリ名はわかりやすい文字例でいれています。
- その後、該当サイトを右クリックし「バインドの編集」で証明書を適用させます。
- 種類を「https」ホスト名はコモンネームにして、インストールしたSSL証明書を選択します。
「新しい証明書の証明書ストアを選択してください」は「個人」にしています。(よく調べてませんが、証明書が20-30未満の場合は個人でそれ以上はWeb ホスティング?) - SNI(Server Name Indication)に適応させるには「サーバー名表示を要求する」にチェックを入れます。(IIS8以降で使用できる)
一度SSL化したら、有効期限切れには十分注意しましょう!
Web.configでSSL強制
httpからアクセスした場合にhttpsに転送させるようにします。
詳しくは下記の記事をご覧ください。