ホームページ >運用・保守 >Nginx >Nginx に SSL 証明書をデプロイする方法

Nginx に SSL 証明書をデプロイする方法

PHPz
PHPz転載
2023-05-12 16:19:122200ブラウズ

簡単な紹介

Nginx は最新の高性能 Web サーバーで、従来の Apache サーバーと比較して、特に多数のクライアントの同時接続下でのパフォーマンスが 10 倍以上向上しています。大規模な PHP Web サイトの多くは Nginx サーバーを使用しています。 Nginx は Linux 2.6 カーネルと epull アーキテクチャのネットワーク I/O モデルを使用していますが、使用されている Apache と比較的似ており、Apache の非常に優れた代替品です。

SSL 証明書の概要

SSL 証明書は、運転免許証、パスポート、営業許可証の電子コピーと同様のデジタル証明書の一種です。サーバー上で設定されるため、SSL サーバー証明書とも呼ばれます。 SSL証明書はSSLプロトコルに準拠し、信頼できるデジタル認証局CAがサーバーの本人確認を行った上で発行するもので、サーバーの本人確認とデータ通信の暗号化機能を備えています。

SSL 認証原理

1. ハンドシェイク プロトコル

ハンドシェイク プロトコルは、クライアントとサーバーが SSL 接続経由で通信するときに使用される最初のサブプロトコルです。クライアント サーバーとの間で送受信される一連のメッセージ。 SSL で最も複雑なプロトコルはハンドシェイク プロトコルです。このプロトコルを使用すると、サーバーとクライアントが相互に認証し、暗号化と MAC アルゴリズムをネゴシエートし、SSL レコードで送信されたデータを保護するための秘密キーを使用できます。ハンドシェイク プロトコルは、アプリケーションによるデータ転送の前に使用されます。

2. 記録プロトコル

記録プロトコルは、クライアントとサーバーのハンドシェイクが成功した後、つまり、クライアントとサーバーが相互に認証し、セキュリティ情報交換に使用されるアルゴリズムを決定した後に使用されます。記録プロトコルは、SSL 接続に 2 つのサービスを提供します:

(1) 機密性: ハンドシェイク プロトコルによって定義された秘密キーを使用して実装されます

(2) 完全性:ハンドシェイク プロトコルは、メッセージの整合性を確保するための MAC を定義します。

3. アラート プロトコル

クライアントとサーバーは、エラーを検出すると、相互にアラート メッセージを送信します。致命的なエラーの場合、アルゴリズムは SSL 接続を即座に閉じ、双方が最初に関連するセッション番号、シークレット、およびキーも削除します。各アラーム メッセージは合計 2 バイトで構成されます。最初のバイトはエラーのタイプを示します。アラームの場合、値は 1 です。致命的なエラーの場合、値は 2 です。2 番目のバイトは、実際のエラーのタイプを指定します。

SSL 証明書展開の準備

1. 証明書のダウンロード

証明書をダウンロードして解凍すると、サフィックス .key と .pem が付いたファイルが表示されます。これら 2 つをアップロードします。 nginx サーバーで、conf ファイルの下に cert フォルダーを作成し、このファイルの下に証明書をコピーします。

Nginx に SSL 証明書をデプロイする方法

2. 証明書をデプロイします

./nginx -t nginx のインストール パスを表示し、nginx.conf 設定ファイルを見つけて編集します

サーバー上の

以下に追加します。

server_name ドメイン名アドレス;

listen 443 ssl;
ssl_certificate conf/cert/.pem;
ssl_certificate_key conf/ cert/.key;

3. https に自動的にジャンプするように http を設定します。

サーバーを追加し、次の設定を追加します

listen 80;
server_name ドメイン名;
^(.*)$ を書き換える https://$host$1;

4. nginx 設定をロードします

./ nginx -s reload

最後に検証のために Web ページを開きます

以上がNginx に SSL 証明書をデプロイする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。