Simple Application Server にバインドされている任意のドメイン名に対して HTTPS アクセスを有効にできます。このプロセスでは、低コストでデータ伝送プロトコルを HTTP から HTTPS にアップグレードし、Web サイト認証と暗号化データ伝送を可能にします。これにより、伝送中のデータが改ざんされたり、漏洩したりするのを防ぎます。このトピックでは、Node.js 実行環境を実行する Simple Application Server に SSL 証明書をインストールし、HTTPS アクセスを有効にする方法について説明します。
前提条件
-
ドメイン名を購入済みであること。詳細については、「一般的なドメイン名の登録」をご参照ください。
-
ご利用の Simple Application Server が中国本土にデプロイされている場合は、ドメイン名に ICP 登録があることを確認してください。詳細については、「ICP 登録とは」をご参照ください。
-
ドメイン名が Simple Application Server にバインドされ、名前解決されていること。詳細については、「ドメイン名の登録と名前解決」をご参照ください。
背景情報
Node.js は、Chrome V8 エンジン上に構築された JavaScript 実行環境で、高速でスケーラブルなネットワークアプリケーションを簡単に構築できます。そのイベント駆動型、非ブロッキング I/O モデルにより、Node.js は軽量で効率的であり、分散デバイス上で実行されるデータ集約型のリアルタイムアプリケーションに最適です。詳細については、Node.js 公式サイトをご参照ください。
Certificate Management Service を使用して証明書を購入、申請し、Web サーバーにデプロイすると、サーバーは HTTPS プロトコルでデータを送信します。HTTPS は、ブラウザと Web サーバーの間に SSL 暗号化チャネルを有効にします。これにより、強力な一方向暗号化が提供され、伝送中のデータが漏洩したり改ざんされたりするのを防ぎます。HTTPS の使用は、多くのモバイルアプリ、ミニプログラム、その他のアプリケーションがアプリストアやアプリケーションエコシステムに掲載されるための要件です。HTTPS 暗号化は、Web サイトに次の利点をもたらします。
-
セキュリティとコンプライアンス:アプリストアやアプリケーションエコシステムの要件を満たします。
-
暗号化されたデータ伝送:Web サイトとそのユーザー間の通信を暗号化し、伝送中にデータが乗っ取られたり、改ざんされたり、監視されたりするのを防ぎます。
-
Web サイトのセキュリティ向上:フィッシングイベントの防止に役立ちます。ブラウザがサイトが安全で信頼できることを示すと、ユーザーの信頼が高まり、トラフィックが増加し、検索エンジンランキングが向上する可能性があります。
詳細については、「Certificate Management Service とは」をご参照ください。
ステップ 1:Node.js サーバーの作成
-
Simple Application Server コンソールの[サーバーページ]に移動します。
-
Simple Application Server の購入ページで、リソースを設定します。
詳細な手順については、「Simple Application Server の作成」をご参照ください。
[イメージ] セクションで、Node.js 16.5.0 アプリケーションイメージを選択します。
ステップ 2:SSL 証明書の購入
証明書の購入
-
必要な証明書仕様を選択します。
パラメーター
説明
例
証明書タイプ
SSL 証明書が保護するドメインのタイプ。
-
単一ドメイン:SSL 証明書は単一のドメインを保護するために使用されます。
-
ワイルドカードドメイン:同じレベルに複数のサブドメインがある場合、ワイルドカードドメイン証明書を使用してそれらすべてを保護できます。各サブドメインに個別の証明書を購入してインストールする必要はなく、1つの証明書で済みます。
ワイルドカードドメインには次のルールが適用されます。
-
同じレベルのサブドメインのみが一致します。たとえば、
*.aliyundoc.comの証明書はdemo.aliyundoc.comやlearn.aliyundoc.comなどのサブドメインに一致しますが、guide.demo.aliyundoc.comやdeveloper.demo.aliyundoc.comには一致しません。 -
単一のワイルドカードドメインの証明書のみ申請できます。マルチワイルドカード証明書は申請できません。複数のワイルドカードドメインをカバーする証明書が必要な場合は、同じブランドとタイプの複数の証明書を組み合わせることができます。詳細については、「証明書申請の結合」をご参照ください。
-
-
複数ドメイン:SSL 証明書は、複数の単一ドメインを同時に保護するために使用できます。最大5つまでサポートされます。
説明特定の要件を満たす商用証明書を購入すると、Alibaba Cloud は無料のドメイン名を提供します。
単一ドメイン
ブランド
証明書ブランドを選択します。ブランドは、証明書を発行する認証局 (CA) です。
証明書ブランドの詳細については、「SSL 証明書選択ガイド」をご参照ください。
Digicert
証明書仕様
必要な証明書タイプを選択します。
さまざまな証明書タイプの詳細については、「SSL 証明書選択ガイド」をご参照ください。
DV SSL
ドメイン数
このパラメーターは、[証明書タイプ] を [複数ドメイン] に設定した場合にのみ必須です。保護する単一ドメインの数を選択します。
1
数量
購入する SSL 証明書の数です。デフォルト値は 1 で、変更できません。複数の SSL 証明書を購入する場合は、より長い[サービス期間]を選択します。たとえば、[サービス期間]を[2 年]に設定した場合、それぞれ 1 年間有効な証明書を 2 つ購入することになります。
1
サービス期間
SSL 証明書のサービス期間。有効な値:
-
1年:1年間のサービス期間を持つ SSL 証明書を購入します。証明書はデフォルトで1年間有効です。証明書の有効期限が切れた後、手動で新しいものを購入する必要があります。
-
2年:2年間の SSL 証明書サービスを購入します。これには、2つの1年間の SSL 証明書と1つのマネージド証明書サービスが含まれます。
マネージドサービスの詳細については、「マネージド証明書とは」をご参照ください。
-
3年:3年間の SSL 証明書サービスを購入します。これには、3つの1年間の SSL 証明書と2つのマネージド証明書サービスが含まれます。
1年
-
-
[今すぐ購入] をクリックして、支払いを完了してください。
証明書申請の提出
Certificate Management Service コンソールにログインします。
左側のナビゲーションウィンドウで、を選択します。
-
公式証明書 タブで、申請する証明書を探し、「操作」列の 証明書申請 をクリックします。
-
証明書申請 パネルで、パラメーターを設定し、証明書申請 を選択して、[レビューに提出] をクリックします。
パラメーター
説明と例
証明書タイプ
単一ドメイン
証明書の仕様
digicert DV
ドメイン名
証明書が保護するドメイン名。これは、Simple Application Server に関連付けられているドメイン名でなければなりません。例:aliyundoc.com。
年
1
クイック起票
ドメイン認証方式
-
ドメインが同一 Alibaba Cloud アカウント配下で Alibaba Cloud DNS によって管理されている場合、Certificate Management Service は自動的に [自動 DNS 検証] を選択します。このオプションは変更できません。申請を送信すると、システムが自動的に DNS 検証を実行します。証明書が発行されるのをお待ちいただくだけです。
-
ドメインが異なる Alibaba Cloud アカウントで管理されている場合は、次のいずれかの方法でドメインの所有権を検証する必要があります。
-
手動 DNS 検証: DNS プロバイダーのコンソールで、ドメイン名の TXT レコードを手動で追加する必要があります。
-
ファイル検証: Certificate Management Service コンソールから専用の検証ファイルをダウンロードし、Web サーバー上の指定された検証ディレクトリにアップロードする必要があります。
-
連絡先
[連絡先の作成] をクリックして新しい連絡先を追加するか、ドロップダウンリストから既存の連絡先を選択します。
連絡先情報が正確で有効であることを確認してください。
場所
都市または地域を選択します。
暗号化アルゴリズム
SSL 証明書の暗号化アルゴリズム。デフォルト値は [RSA] で、変更できません。RSA は広く使用されている非対称暗号化アルゴリズムで、優れた互換性を提供します。
CSR 生成
証明書署名要求 (CSR) は、サーバーと組織の情報を含むファイルで、レビューのために CA に提出する必要があります。
[システム生成] を選択します。 Certificate Management Service は、指定された [暗号化アルゴリズム] を使用して CSR ファイルを自動的に生成します。
-
-
[ドメイン名の検証方法] が [自動 DNS 検証] の場合、システムが自動的に DNS 検証を完了し、証明書が発行されるのを待つだけです。 [ドメイン名の検証方法] が [手動 DNS 検証] または [ファイル検証] の場合、[検証情報] セクションの手順に従って、ドメイン名の所有権を検証する必要があります。 詳細および一般的なエラーについては、「ドメイン名の所有権の検証」をご参照ください。
アプリケーションを送信すると、通常 30 分以内に認証局から証明書が発行されます。 SSL 証明書が発行されると、その[ステータス]は[発行済み]に変更されます。
ステップ 3:SSL 証明書の設定
証明書が発行されると、ステータスが [発行済み] に変わります。証明書をダウンロードして設定してください。詳細については、「証明書をデプロイする」をご参照ください。
-
証明書をダウンロードします。
-
公式証明書 タブで、ダウンロードする証明書を選択し、証明書リストの左下隅にある [ダウンロード] をクリックします。
説明SSL 証明書は、状態が [発行済み]、[間もなく失効]、または [失効済み] の場合にのみ [ダウンロード] できます。
-
[証明書の一括ダウンロード] ダイアログボックスで、サーバータイプに応じた証明書パッケージをダウンロードします。
この例では Nginx を転送に使用します。したがって、Nginx バージョンをダウンロードします。
警告証明書をダウンロードした後、証明書の漏洩を防ぎ、Web サイトを攻撃から保護するために、安全な場所に保管してください。

-
パッケージを解凍すると、次の図に示すように2つのファイルが見つかります。

-
-
WinSCP や Xshell などのツールを使用して、
.key秘密鍵ファイルと.pem証明書ファイルを、Simple Application Server 上の/homeなどのディレクトリにアップロードします。 -
Simple Application Server にリモート接続します。詳細については、「Linux サーバーへの接続」をご参照ください。
-
次のコマンドを実行して、
https_server_test.jsプロジェクトファイルを作成します。cd /home sudo touch https_server_test.js -
次のコマンドを実行して、
https_server_test.jsファイルを編集します。vim https_server_test.jsi を押して編集モードに入り、次の内容を https_server_test.js ファイルに追加します。
// HTTPS サービスを開始するには https パッケージが必要です。 // ファイルを読み込むには fs パッケージが必要です。 const https = require('https'); const fs = require('fs'); // 2 つの証明書ファイルを読み込み、options オブジェクトに保存します。 // readFileSync() メソッドを使用して、サーバーを起動する前にファイルを同期的に読み込みます。 const options = { key: fs.readFileSync('/home/cert-file-name.key'), cert: fs.readFileSync('/home/cert-file-name.pem') }; // サーバーを作成して起動し、リスニングポートを設定します。 https.createServer(options, (req, res) => { res.end('hello world\n'); }).listen(443);パラメーターの説明:
-
/home/cert-file-name.key:この値を、アップロードした秘密鍵ファイルの絶対パスに置き換えます。 -
/home/cert-file-name.pem:この値を、アップロードした SSL 証明書ファイルの絶対パスに置き換えます。
重要証明書ファイルへのパスが正しいことを確認してください。パスが間違っていると、設定が失敗し、HTTPS アクセスができなくなります。
-
-
内容を追加した後、
Escを押して編集モードを終了します。次に、:wqと入力し、Enterを押して保存して終了します。 -
次のコマンドを実行して、HTTPS サーバーを起動します。
sudo node https_server_test.js -
ブラウザのアドレスバーに
https://<ご利用のドメイン名>と入力します。-
アドレスバーにロックアイコンが表示された場合、証明書は正常にインストールされています。

-
Web サイトが HTTPS でアクセスできない場合は、Simple Application Server でポート 443 が開いており、他のツールによってブロックされていないことを確認してください。ポート 443 でのインバウンドトラフィックを許可する方法の詳細については、「ファイアウォールの管理」をご参照ください。
-