はじめに
この記事では、構築済み IIS の Web サイトを 取得した外部ドメイン名を使って HTTPS で公開するまでの手順を紹介していきます。
前提事項
① IIS の構築
以下の記事で IIS を導入して サンプル Web サイトを表示する手順を公開しているため、事前に構築してください。
② ドメインの取得
Web サイトを外部公開するためには、ドメインを取得して "www.ドメイン名" のような形で ホスト名を 外部 DNS サーバーに登録する必要があります。
以下の記事は、Azure を使って構築する場合の手順を公開しています。
上記とは別に、3rd パーティやプロバイダーなどのサービスを使って、ドメイン取得&外部 DNS の公開をすることもできます。
③ 公的証明書の取得
Web サイト を HTTPS (SSL) で外部公開するためには、公的証明機関 が発行した サーバー証明書 が必要です。
以下の記事は、Azure を使って証明書を購入する場合の手順を公開しています。
上記とは別の 公的証明機関 から 証明書を購入することもできます。
構築手順
1. HTTPS ページの有効化
- サーバーマネージャーから インターネットインフォメーションサービス (IIS) マネージャー を起動します。
- 外部公開したい Web サイト (Default Web Site) を右クリックし バインドの編集 を選択します。
-
追加 ボタンを押します。
-
種類 で "https" を選択して SSL 証明書 は 選択可能な任意の証明書(TenantEncryptionCert 等) を選び、OK を押します。
- 以下の一覧に追加されたことを確認したら 閉じる を押します。
- ブラウザを起動して https://127.0.0.1 へ アクセスを行うと、下図のように表示されます。
詳細設定 を押します。
127.0.0.1 に進む(安全ではありません) を押します。
- すると、ようやく 以下のように Web サイトが表示されますが、セキュリティ保護なし の状態です。
このように HTTPS を有効にしただけでは、Web サイトを開くことはできますが、セキュリティ保護なし になってしまいます。
さらに、この時点では 外部から Web サイトにはアクセスできない状態です。
2. Web サイトの外部公開
本章では、IIS の Web サイトを 外部公開します。
手順では、Azure VM 上に構築した IIS を外部公開する手順を説明していますが、オンプレミス環境の IIS の場合は、Firewall やリバースプロキシなどを使って、インターネット上の パブリック IP アドレス を使って、外部公開してください。
Azure VM の場合の手順
- IIS を導入した 仮想マシンの左ペインで ネットワーク設定 を開き、+ポートルールの作成 から 受信ポートルール を選択します。
- 以下の画面で サービス Custom を選択して 宛先ポート範囲は 80,443 を入力します。
プロトコルは TCP、アクションは 許可、名前 は、任意の名前 を記入して、追加 を押します。
- 下図のように 一覧 に作成したルールが追加されたことを確認します。
緑枠の個所の パブリック IP アドレス の値をコピーします。
- ブラウザを起動して、http:// [パブリック IP アドレス] にアクセスします。
以下の画面は、世界中の どの PC からでも同じように参照することができます。
スマートフォンのブラウザなどからアクセスしてみると、良く分かると思います。
- 同様に、ブラウザから https:// [パブリック IP アドレス] にアクセスします。
HTTPS の場合は、以下のように セキュリティ保護なし になってしまいます。
社内にある IIS のサーバー を 外部公開することで、世界中の PC から参照できることがわかりました。
しかし、今の段階では IP アドレス を使ってアクセスする必要がありますし、HTTPS のサイトは セキュリティ保護なし になってしまいます。
3. 外部ドメインの購入と 外部 DNS サーバーの構成
前提事項の ② ドメインの取得 で説明しましたが、外部ドメインの購入と 外部 DNS サーバーの構成を行います。
上記の構成が完了したら、続けて A レコード の追加が必要です。
以下の手順を実施してください。
外部 DNS に A レコードを追加する手順
- 左ペインの レコードセット を選択して +追加 を押します。
- 名前欄に www を入力して、IP アドレス欄に、Web サイトの パブリック IP アドレス を入力して 追加 を押します。
- 以下のように 一覧に 追加されれば OK です。
- ブラウザを起動して、http:// [www.外部ドメイン名] にアクセスします。
取得したドメイン名を使って、Web サイトが参照できるようになったことが判ります。
- 同様に、ブラウザから https:// [www.外部ドメイン名] にアクセスします。
HTTPS の場合は、以下のように セキュリティ保護なし になってしまいます。
安全ではありません を押して、サイトを開いても 以下の状態です。
FQDN (取得したドメイン名+ホスト名)を使って、外部からアクセスできるようになりました。
FQDN を使って、外部からアクセスできるようになっても、HTTPS の セキュリティ保護なし の状態に変化がないことが判ります。
4. 公的証明書を発行して、証明書を取得(ダウンロード)する
前提事項の ③ 公的証明書の取得 で説明しましたが、公的証明書 を購入して サーバー証明書 を取得してください。
注意
上記の記事では "sfb.carol226.com" というネイキッドドメイン名 を使って発行する内容になっています。別のタイミングで記事を書いたことが理由です。
"www.carol226.com" の証明書を取得するためには、"carol226.com" というネイキッドドメイン名で申請する必要があります。
そのため、上記の記事は、ネイキッドドメインの箇所を 読み替えながら参照してください。
5. 証明書のインポート
IIS のサーバー上で作業を行ってください。
- 前章で取得(ダウンロード)した証明書を右クリックして PFX のインストール を選択します。
-
ローカルコンピューター を選択して 次へ を押します。
- ダウンロードしたファイルが選択されているので 次へ を押します。
- 特に何も指定せずに 次へ を押します。
- 特に何も指定せずに 次へ を押します。
- 以下の画面になったら、完了 を押して終了します。
6. 公的証明書を Web サイト にバインドする
- インターネットインフォメーションサービス マネージャー を起動します。
以下の画面で 公開したい Web サイト(Default Web Site)を右クリックして バインドの編集 を選択します。
-
https の行を選択して 編集 を押します。
- 以下のように HTTPS のサイト条件を追加して、SSL 証明書 欄で 先ほどインポートした証明書を選択してから、OK を押します。
もし、証明書が選択出来ない場合は、証明書の作成やインポートで 何かミスがあるはずなので確認してください。
- 以下のように HTTPS のサイトが追加されたことを確認して 閉じる を押します。
- すると、以下のように 世界中の任意の PC から、URL を指定して HTTPS の Web サイトを参照できるようになっています。
- 証明書も セキュリティで保護された状態であることを確認できます。
ここまで構築が完了すると、世界中の PC から HTTPS のサイトを参照できることが可能になっています。
なお、www.carol226.com のサイトは、この記事を書き上げたら STOP してしまいます。
VM 代が掛かってしまうのと、証明書は 他の目的で使いたいため。
ご承知おきください。