HTTP は平文でデータを送信するため、盗聴や改ざんに対して脆弱です。また、現代のブラウザでは HTTP サイトが「安全でない」と表示されます。本ガイドでは、Windows のインターネットインフォメーションサービス (IIS) サーバーに SSL 証明書をインストールして HTTPS を有効化する方法と、そのインストール状況を確認する方法について説明します。
ご不明な点がある場合は、アカウントマネージャーまでお問い合わせください。
前提条件
開始する前に、以下の条件を満たしていることを確認してください。
-
証明書が有効であること。 信頼された認証局 (CA) から発行された SSL 証明書を所持している必要があります。証明書が期限切れまたは間もなく期限切れになる場合は、あらかじめ更新を行ってください。
-
証明書が対象ドメインをカバーしていること。 証明書は、保護したいすべてのドメインと一致している必要があります。
-
完全一致証明書(例:
example.com)は、その特定のドメインのみを保護します。www.example.comや任意のサブドメインは保護されません。 -
ワイルドカード証明書(例:
*.example.com)は、www.example.comやa.example.comなどの 1 段階のサブドメインを保護しますが、ルートドメインexample.comやa.b.example.comのような多段階サブドメインは保護されません。
多段階サブドメインを保護するには、[バウンドドメイン] フィールドに完全一致するドメイン(例:
a.b.example.com)または一致するワイルドカード(例:*.b.example.com)を指定する必要があります。ドメインを追加または変更するには、「公式証明書を購入する」または「バウンドドメインを変更する」をご参照ください。 -
-
管理者アクセス権限を有すること。
Administratorアカウント、または管理者権限を持つアカウントでログオンしてください。 ドメイン名の名前解決:ドメインの DNS レコードが設定されており、サーバーのパブリック IP アドレスに解決される必要があります。
-
DNS がご利用のサーバーを指していること。 ドメインの DNS レコードがサーバーのパブリック IP アドレスを指している必要があります。
-
OS のバージョンがサポートされていること。 本手順は Windows Server 2008 R2 以降に対応しています。UI はバージョンによって異なる場合がありますので、必要に応じて手順を調整してください。
ステップ 1:SSL 証明書の準備
-
証明書サービス コンソールにアクセスします。対象証明書の 操作 列で、証明書のダウンロード をクリックします。ダウンロード タブで、サーバータイプ として IIS を選択し、証明書をダウンロードします。
-
ダウンロードした証明書パッケージを展開します。
-
パッケージに証明書ファイル (
.pfx) とパスワードファイル (.txt) が含まれている場合は、両方のファイルを保管してください。デプロイ時に必要になります。> 重要: 証明書をダウンロードするたびに、システムが新しいパスワードを生成します。このパスワードは、同一セッションでダウンロードした証明書ファイルに対してのみ有効です。 -
パッケージに
.pem形式の証明書ファイルのみが含まれている場合は、証明書ツールキットを使用して.pfx形式に変換します。詳細については、「証明書形式変換」をご参照ください。> 注: 証明書申請時に OpenSSL や keytool などのツールを使用して証明書署名要求 (CSR) を生成した場合、秘密鍵はローカルに保存されており、ダウンロードしたパッケージには含まれません。秘密鍵を紛失した場合、証明書は使用できません。そのため、新しい証明書を購入し、新しい CSR および秘密鍵を生成する必要があります。
-
-
証明書ファイルをサーバーにアップロードします。
-
ワークベンチのディレクトリから証明書ファイルを
C:ドライブまたは他のローカルドライブにドラッグして、保存します。
以降の手順では、Alibaba Cloud Elastic Compute Service (ECS) インスタンスを例として説明します。他のサーバータイプの場合は、各社の公式ドキュメントをご参照ください。
重要インスタンスから切断または終了すると、ワークベンチは自動的に リダイレクトされたドライブおよびフォルダ ディレクトリ内のすべてのファイルをクリアします。このディレクトリはファイル転送専用であり、永続的な保存には使用しないでください。

-
ステップ 2:ポート 443 の開放
セキュリティグループでのポート 443 の開放
サーバーがクラウドプラットフォーム上でホストされている場合、セキュリティグループはポート 443 (TCP) に対するインバウンドトラフィックを許可する必要があります。そうでないと、HTTPS がインターネットからアクセスできなくなります。以下では Alibaba Cloud ECS を例として説明します。他のプラットフォームの場合は、各社の公式ドキュメントをご参照ください。
-
ECS コンソール にログインします。対象インスタンスのリージョンを選択します。インスタンス ページで、該当するインスタンスを検索します。
-
インスタンス名をクリックして詳細ページを開きます。セキュリティグループ > 内部インバウンドルール に移動し、以下の設定を持つルールが存在するか確認します:アクション = 許可、プロトコルの種類 = TCP、宛先ポート範囲 = HTTPS (443)、許可オブジェクト = すべての IPv4 アドレス。
-
このルールが存在しない場合は、セキュリティグループルールを追加する。
Windows ファイアウォールでのポート 443 の開放
-
Windows サーバーにログオンします。スタート をクリックし、コントロールパネル を開きます。
-
システムとセキュリティ > Windows ファイアウォール > ファイアウォールのステータスの確認 に移動します。
-
ファイアウォールが無効になっている場合は、追加の操作は不要です。ステップ 3:MMC への SSL 証明書のインポート に進んでください。

-
ファイアウォールが有効になっている場合は、詳細設定 > インバウンドルール に移動し、プロトコル = TCP、ローカルポート = 443、アクション = ブロック となっているルールが存在するか確認します。このルールが存在する場合は、右クリックして プロパティ を選択し、全般 タブで設定を 接続を許可 に変更し、適用 をクリックします。
ステップ 3:MMC への SSL 証明書のインポート
-
スタート をクリックし、実行 を検索して開きます。
mmcを入力し、OK をクリックします。 -
MMC コンソールで、証明書スナップインを追加します。
-
証明書スナップイン ダイアログボックスで、コンピューター アカウント を選択し、次へ をクリックします。
-
コンピューターの選択 ダイアログボックスで、ローカルコンピューター (このコンソールが実行されているコンピューター) を選択し、完了 をクリックします。
-
OK をクリックします。

-
-
左側のナビゲーションウィンドウで、コンソール ルート > 証明書 (ローカルコンピューター) を展開します。個人 を右クリックし、すべてのタスク > インポート を選択します。

-
証明書インポートウィザードに従って操作します。
-
パスワード:
.txtパスワードファイルを開き、その内容をコピーして、パスワード フィールドに貼り付け、次へ をクリックします。 -
証明書ストア:証明書の種類に基づいて証明書ストアを自動的に選択 を選択し、次へ をクリックします。
-
証明書インポートウィザードの完了:完了 をクリックします。「インポートが正常に完了しました」というメッセージが表示されたら、OK をクリックします。

-
ステップ 4:IIS マネージャーでの証明書のバインド
Windows Server 2012 R2 以降
-
スタートアイコンをクリックし、サーバーマネージャー > ツール > IIS マネージャー に移動します。 -
接続数 ウィンドウで、サーバーノードを展開し、サイト をクリックして対象の Web サイトを選択します。操作 ウィンドウで、バインド をクリックします。

-
サイト バインド ダイアログボックスで、追加 をクリックします。
-
サイト バインドの追加 ダイアログボックスで、シナリオに応じて設定を構成し、OK をクリックします。
単一の Web サイト、または複数の Web サイトが 1 つの証明書を共有する場合
Web サイトが 1 つだけの場合、または複数の Web サイトが同じ証明書を使用する場合にこの構成を使用します。
-
タイプ:https を選択します。
-
IP アドレス:サーバーの IP アドレスを選択します。サーバーに IP アドレスが 1 つしかない場合は、すべて未割り当て のままにしてください。
-
ポート:デフォルト値の 443 のままにしてください。
ポート 443 は標準の HTTPS ポートです。非標準ポートを使用する場合、ユーザーは URL にポート番号を含める必要があります(例:
https://domain.com:8443)。 -
ホスト名:保護対象のドメイン(例:
domain.com)を入力します。 -
サーバ名表示 (SNI) の必須設定:単一サイトの構成では、このチェックボックスをオフのままにしてください。
-
SSL 証明書:インポートした証明書を選択します。
複数の Web サイトがそれぞれ独自の証明書を使用する場合(推奨:SNI)
サーバ名表示 (SNI) を使用すると、単一の IP アドレスおよびポートで複数の HTTPS 対応 Web サイトをホストできます。Windows Server 2012 R2 以降では、これが推奨される方法です。
以下の例では、2 つの Web サイト(web01 および web02)が同じ IP アドレスおよびポート 443 を共有しています。各サイトで サーバ名表示 (SNI) の必須設定 を選択します。これを省略すると、IIS でエラー「少なくとも 1 つの他のサイトが同じ HTTPS バインドを使用しています」と表示されます。

各サイトについて:
-
タイプ:https を選択します。
-
IP アドレス:サーバーに IP アドレスが 1 つしかない場合は、デフォルトの すべて未割り当て のままにしてください。
-
ポート:デフォルト値の 443 のままにしてください。
-
ホスト名:サイトのドメイン名(例:
example1.comまたはexample2.com)を入力します。 -
サーバ名表示 (SNI) の必須設定:このチェックボックスを選択します。
-
SSL 証明書:該当するサイトに対応する証明書を選択します。
すべてのサイトを設定した後、The default SSL site has not been created... という警告が表示されることがあります。これは、SNI (Server Name Indication) をサポートしていない古いブラウザ (Windows XP 上の Internet Explorer など) でエラーが発生することを意味します。これらのブラウザをサポートするには、フォールバックとしてデフォルトの SSL サイトを設定します。
デフォルトの SSL サイトは、SNI 非対応ブラウザからのリクエストを処理します。空白のページまたはリダイレクトページとして構成してください。ユーザーがレガシブラウザを使用しない場合は、この警告を無視しても構いません。
-
IIS マネージャーで、サーバーノードを展開し、サイト をクリックします。既定の Web サイト を選択するか、新しい Web サイトを追加します。操作 ウィンドウで、バインド をクリックします。
-
追加 をクリックします。以下の設定でバインドを構成し、OK をクリックします。
-
タイプ:https を選択します。
-
IP アドレス:サーバーの IP アドレスを選択します。
-
ポート:デフォルトの 443 のままにしてください。
-
ホスト名:空欄のままにしてください。
-
サーバ名表示 (SNI) の必須設定:このチェックボックスをオフのままにしてください。
-
SSL 証明書:インポートした証明書のいずれかを選択します。

-
複数の Web サイトがそれぞれ独自の IP アドレスを使用する場合
この方法では、DNS レコードの変更が必要です。エントリの IP アドレスが単一の IP から複数の IP に変更されるため、運用中のサービスに影響を与える可能性があります。実施前にビジネスへの影響を評価してください。
-
セカンダリ ENI を作成し、ECS インスタンスにアタッチします。詳細については、「ENI の作成および使用」をご参照ください。
-
Elastic IP アドレス (EIP) を作成し、セカンダリ ENI と関連付けます。パブリックからプライベートへの IP マッピングは以下のとおりです。

-
DNS プロバイダーで、各ドメインを対応するパブリック IP アドレスに設定します。例:
example1.comを106.xx.xx.198に、example2.comを101.xx.xx.50に設定します。 -
IIS マネージャーで、各 Web サイトを以下のように構成します:
各 Web サイトについて、以下の設定を行います。-
タイプ:https を選択します。
-
IP アドレス:サイトのプライベート IP アドレス(例:Web01 の場合
192.168.1.211)を入力します。 -
ポート:デフォルト値の 443 のままにしてください。
-
SSL 証明書:該当するサイトに対応する証明書を選択します。
IIS Web サイト SSL 証明書 IP アドレス (プライベート) パブリック IP アドレス Web01 example1.com192.168.1.211106.xx.xx.198Web02 example2.com192.168.1.212101.xx.xx.50 -
-
閉じる をクリックして、サイト バインド ダイアログボックスを閉じます。
-
(任意)IIS Crypto を使用して TLS のベストプラクティスを適用します。
-
https://www.nartac.com/Products/IISCrypto/Download から IIS Crypto GUI をダウンロードします。
-
ダウンロードしたファイルを実行します。Schannel ホームページで、ベストプラクティス をクリックし、OK をクリックしてから、適用 をクリックします。プロンプトが表示されたら、サーバーを再起動します。
-
Windows Server 2008 R2
-
スタート をクリックし、管理ツール > IIS マネージャー に移動します。
-
[接続] ペインで、サーバー ノードを展開し、[サイト] を展開して、対象の Web サイトをクリックします。 [操作] ペインで、[バインド] をクリックします。

-
サイト バインド ダイアログボックスで、追加 をクリックします。
-
サイト バインドの追加 ダイアログボックスで、シナリオに応じて設定を構成します。
単一の Web サイト
-
タイプ:https を選択します。
-
IP アドレス:サーバーの IP アドレスを選択します。サーバーに IP アドレスが 1 つしかない場合は、デフォルトの すべて未割り当て のままにしてください。
-
ポート:デフォルト値の 443 のままにしてください。非標準ポートを使用する場合、ユーザーは URL にポート番号を含める必要があります(例:
https://domain.com:8443)。 -
SSL 証明書:インポートした証明書を選択します。
複数の Web サイト
Windows Server 2008 R2 はサーバ名表示 (SNI) をサポートしていません。HTTPS 対応の各 Web サイトは、一意の IP アドレスにバインドする必要があり、各 IP アドレスには一意の証明書が必要です。
この方法では、DNS レコードの変更が必要です。エントリの IP アドレスが単一の IP から複数の IP に変更されるため、運用中のサービスに影響を与える可能性があります。実施前にビジネスへの影響を評価してください。
-
セカンダリの Elastic Network Interface (ENI) を作成し、ECS インスタンスにアタッチします。詳細については、「ENI の作成と使用」をご参照ください。
-
EIP を作成し、EIP を セカンダリ ENI に関連付けます。

-
DNS プロバイダーで、各ドメインを対応するパブリック IP アドレスに設定します。
-
IIS マネージャーで、各 Web サイトを以下のように構成します:
各 Web サイトについて、以下の設定を行います。-
タイプ:https を選択します。
-
IP アドレス:サイトのプライベート IP アドレスを入力します。
-
ポート:デフォルト値の 443 のままにしてください。
-
SSL 証明書:該当するサイトに対応する証明書を選択します。
IIS Web サイト SSL 証明書 IP アドレス (プライベート) パブリック IP アドレス Web01 example1.com192.168.1.211106.xx.xx.198Web02 example2.com192.168.1.212101.xx.xx.50 -
-
閉じる をクリックして、サイト バインド ダイアログボックスを閉じます。
一部の Windows Server 2008 システムでは、次のエラーが報告される場合があります:
One or more intermediate certificates in the certificate chain are missing。修正方法については、「よくある質問」をご参照ください。 -
TLS ポリシーを設定します。Windows Server 2008 R2 のデフォルトの TLS 構成は、最新のブラウザ、アプリ、またはミニプログラムによって信頼されない場合があります。デプロイメント後に
ERR_SSL_VERSION_OR_CIPHER_MISMATCHまたはUnsupported protocolなどのエラーが表示された場合は、TLS のベストプラクティスを適用してください。-
https://www.nartac.com/Products/IISCrypto/Deprecated から IIS Crypto GUI をダウンロードします。
-
ダウンロードしたファイルを実行します。Schannel タブで、ベストプラクティス をクリックし、OK をクリックしてから、適用 をクリックします。プロンプトが表示されたら、サーバーを再起動します。
-
(任意)HTTP から HTTPS へのリダイレクトの設定
HTTP トラフィックを HTTPS にリダイレクトすることで、すべての接続が暗号化されるようになります。
-
IIS マネージャーで、サーバーノードを展開し、サイト をクリックして対象のサイトを選択します。サイトのホームビューで URL 書き換え モジュールが存在するか確認します。存在しない場合は、https://www.iis.net/downloads/microsoft/url-rewrite からダウンロードしてインストールしてください。インストール後、IIS マネージャーを閉じて再開します。


-
URL 書き換え をダブルクリックします。操作 ウィンドウで、ルールの追加 をクリックします。
-
インバウンドルール > 空白のルール を選択し、OK をクリックします。
-
インバウンドルールの編集 ダイアログボックスで、以下の設定でルールを構成します。リストされていないパラメーターについては、デフォルト値をそのまま使用してください。
パラメーター
設定
名前
説明的な名前(例:HTTP から HTTPS へのリダイレクト)を入力します。
URL の一致
要求された URL
パターンと一致 を選択します。
使用
正規表現 を選択します。
パターン
(.*)を入力します。大文字と小文字を区別しない
チェックボックスをオンにします。
条件
論理グループ化
すべてに一致 を選択します。
条件(条件を追加)
条件入力
{HTTPS}を入力します。入力文字列をチェック
パターンと一致 を選択します。
パターン(条件)
^OFF$を入力します。大文字と小文字を区別しない
チェックボックスをオンにします。
アクション
アクションの種類
リダイレクト を選択します。
リダイレクト URL
https://{HTTP_HOST}/{R:1}を入力します。クエリ文字列を追加
チェックボックスをオンにします。
リダイレクトの種類
本番では[恒久的 (301)]を、テストでは[一時的 (302)]を選択します。

-
操作 ウィンドウで、適用 をクリックします。
-
接続数 ウィンドウで、サーバーをクリックし、再起動 をクリックします。HTTP リクエストが自動的に HTTPS にリダイレクトされることを確認します。

ステップ 5:デプロイの確認
-
Web ブラウザーを開き、
https://<your-domain>にアクセスします。<your-domain>は、実際のドメイン名に置き換えてください。 -
アドレスバーに鍵のアイコンが表示された場合、証明書が正しくインストールされています。
Chrome 117 以降では、
鍵のアイコンが新しい
アイコンに置き換えられました。クリックすると証明書の詳細を確認できます。
-
アクセスエラーが発生したり、鍵のアイコンが表示されなかった場合は、ブラウザのキャッシュをクリアするか、プライベート(シークレット)ウィンドウで再度試してください。
問題が解決しない場合は、以下のよくある質問またはSSL 証明書のデプロイメント障害のトラブルシューティングガイドをご参照ください。
本番環境に適用
本番環境へのデプロイ前に、以下のベストプラクティスを適用してください。
-
非管理者ユーザーとして実行すること。 アプリケーション専用の特権の低いシステムアカウントを作成します。絶対に管理者権限でアプリケーションを実行しないでください。
セキュリティをさらに向上させるために、Server Load Balancer (SLB) や Nginx などのリバースプロキシに証明書をデプロイし、ゲートウェイ層で SSL を終端させる方法も検討してください。ゲートウェイが HTTPS 終端を処理し、復号された HTTP トラフィックをバックエンドに転送します。
-
資格情報をコードに含めないこと。 決して設定ファイルにパスワードや機密データをハードコードしないでください。ランタイム時に資格情報を挿入するために、環境変数、Vault、またはクラウドのキー管理サービスを使用してください。
-
HTTPS を強制すること。 中間者攻撃を防止するために、すべての HTTP トラフィックを HTTPS にリダイレクトしてください。
-
レガシ TLS プロトコルを無効化すること。 SSL v3、TLS 1.0、TLS 1.1 を無効化し、TLS 1.2 および TLS 1.3 のみを有効化してください。
-
証明書の有効期限のモニタリング デプロイメント後、ドメインのモニタリングを有効にします。 Alibaba Cloud は証明書の有効期間をチェックし、有効期限が切れる前に更新リマインダーを送信します。 詳細については、「パブリックドメイン名のモニタリングを購入して有効化する」をご参照ください。
よくある質問
証明書をインストールした後も、Web サイトが HTTPS でアクセスできないのはなぜですか?
以下の項目を順に確認してください。
-
ポート 443 がブロックされている。 セキュリティグループまたは Windows ファイアウォールがポート 443 をブロックしている可能性があります。ステップ 2:ポート 443 の開放 の手順に従ってください。
-
ドメインの不一致。 アクセスしようとしているドメインが、証明書の バインド済みドメイン に含まれていない可能性があります。使用しているドメインが証明書でカバーされていることを確認してください。
-
誤った証明書または古くなった証明書を使用している。 使用中の証明書ファイルが古くなっている可能性があります。最新の証明書をダウンロードして再インポートしてください。
-
上流サービスに証明書がありません。 ドメインでコンテンツデリバリーネットワーク (CDN)、Server Load Balancer (SLB)、または Web Application Firewall (WAF) を使用している場合、これらのサービスにも証明書をインストールする必要があります。詳細については、「トラフィックが複数の Alibaba Cloud サービスを通過する場合の証明書デプロイメント場所」をご参照ください。
-
マルチサーバーでのデプロイが不完全である。 ドメインが複数のサーバーに解決される場合、すべてのサーバーに証明書をインストールする必要があります。
詳細については、「ブラウザのエラーメッセージに基づく証明書デプロイメントの問題解決」および「SSL 証明書デプロイメントのトラブルシューティングガイド」をご参照ください。
Windows Server 2008 R2 で「証明書チェーン内の 1 つ以上の中間証明書が不足しています」というエラーを修正するにはどうすればよいですか?
このエラーは、証明書チェーンの検証に必要な最新のルート証明書が、古い OS の証明書ストアに存在しないために発生します。欠落しているルート証明書を手動でインストールすることで修正できます。
-
正しいルート証明書を特定する。 Certificate Management Service コンソールCertificate Management Service コンソール にログインします。証明書管理 > SSL 証明書サービス に移動し、証明書の詳細ページを開きます。証明書チェーン情報 セクションで、証明書の発行者および発行日を確認します。正しいルート証明書を選択する方法については、「[告知] DigiCert ルート証明書の置き換え」をご参照ください。


-
2024 年 12 月 1 日以降に発行されたもの: Digicert_Global_Root_G2_DV_OV (New - Cross-signed Root) をダウンロードします。
-
2024 年 12 月 1 日以前に発行されたもの: DigiCert_Global_Root_G2_DV_OV (Old - Transitional) をダウンロードします。
-
-
ルート証明書をダウンロードする。 「ルート証明書のダウンロードおよびインストール」にアクセスし、上記で特定したファイルをダウンロードします。
-
ルート証明書をインストールする。
-
ルート証明書ファイルをサーバーにアップロードします。
-
ファイルをダブルクリックして証明書インポートウィザードを開きます。
-
プロンプトに従い、証明書を 信頼されたルート証明機関 ストアの ローカルコンピューター に配置します。
-
IIS で既存の SSL 証明書を更新するにはどうすればよいですか?
新しい証明書をインポートし、サイトのバインドを更新して使用します。
-
新しい証明書をインポートする。 ステップ 3:MMC への SSL 証明書のインポート の手順に従い、新しい
.pfxファイルを ローカルコンピューター > 個人 ストアにインポートします。 -
バインドを更新する。 IIS マネージャーで、サイトの バインド を開き、
httpsのバインドを選択して 編集 をクリックし、SSL 証明書 のドロップダウンメニューから新しい証明書を選択し、OK をクリックします。 -
確認する。 新しいプライベートブラウザウィンドウでサイトを開きます。アドレスバーのセキュリティアイコンをクリックして、証明書の詳細(有効期限など)が正しいことを確認します。
![]() |
![]() |
![]() |
|---|
証明書インポートウィザードで .pfx ファイルが表示されないのはなぜですか?
ファイルブラウザのデフォルト設定では、.cer ファイルのみが表示されます。右下隅のファイル種類フィルターを「X.509 証明書」から すべてのファイル (*.*) に変更すると、.pfx ファイルが表示されます。
.pfx ファイルのパスワードを紛失しました。復旧できますか?
いいえ。.pfx ファイルのパスワードは復旧できません。証明書サービス コンソールから証明書を再度ダウンロードしてください。各ダウンロードでは、新しい .pfx ファイルとそれに一致するパスワードファイルが生成されます。
Windows Server が 32 ビットか 64 ビットかを確認するにはどうすればよいですか?
コマンドプロンプト経由: wmic os get osarchitecture を実行します。出力には 64-bit または 32-bit と表示されます。
ECS コンソール経由: サーバーが Alibaba Cloud ECS インスタンスの場合、アーキテクチャはインスタンスの詳細ページに記載されています。


