単一の Nginx IP アドレスに複数の SSL 証明書を設定する例

単一の Nginx IP アドレスに複数の SSL 証明書を設定する例

デフォルトでは、Nginx は IP アドレスごとに 1 つの SSL 証明書のみをサポートします。複数の SSL 証明書を構成するには、複数の IP アドレスが必要です。パブリック IP アドレスが制限されている場合は、TLS Server Name Indication 拡張 (SNI、RFC 6066) を使用できます。これにより、ブラウザは SSL ハンドシェイク中に要求されたサーバー名、つまりホストを送信できるため、Nginx は対応するサーバーの SSL 構成を見つけることができます。

設定手順は次のとおりです。

1. NginxがTLSをサポートしているかどうかを確認する

$ nginx -V
...
TLS SNIサポートが有効
...

2. TLS SNI サポートが無効になった場合は、openssl バージョンをアップグレードし、nginx を再コンパイルする必要があります。

具体的な手順は次のとおりです。

まずopensslをダウンロードします(バージョン1.0.1hを推奨)

#wget http://www.openssl.org/source/openssl-1.0.1h.tar.gz

Nginxをダウンロード

#wget http://nginx.org/download/nginx-1.9.9.tar.gz

opensslを解凍する

#tar -zxvf openssl-1.0.1h.tar.gz

nginxを解凍してコンパイルする

#tar -zxvf nginx-1.9.9.tar.gz
# nginx-1.9.9 をインストールします
#./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-ipv6 --with-openssl=../openssl-1.0.1h/
#make && インストール

#Nginxのバージョン情報を確認する

#/usr/local/nginx/sbin/nginx -V
nginx バージョン: nginx/1.9.9
gcc 4.1.2 20080704 (Red Hat 4.1.2-55) で構築
OpenSSL 1.0.1h で構築 2014年6月5日
TLS SNIサポートが有効
設定引数: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-ipv6 --with-openssl=../openssl-1.0.1h/

Vhostでドメイン名証明書を構成する

サーバ
    {
     #########
        聞く 80;
        443 ssl を聴く;
        #聞く [::]:80;
        サーバー名 we.baohua.me;
        ルート /home/wwwroot/we.baohua.me;

        sslオン;
        ssl_certificate_key /home/wwwroot/cert/we.baohua.me.key;
        ssl_certificate /home/wwwroot/cert/we.baohua.me.crt;
        ssl_プロトコル SSLv3 TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers HIGH:!aNULL:!MD5;
     ###############
}

次に、Nginx を再起動します。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Nginx で SSL 証明書を設定する方法
  • Nginx サーバーの SSL セキュリティ構成の詳細な説明
  • SSL モジュール構成を使用して HTTPS アクセスをサポートする nginx の詳細な説明
  • Nginx サーバーで SSL を有効にする方法
  • NginxはSSL証明書をポート443でリッスンするように設定します
  • nginx で SSL 双方向検証を設定する方法
  • HTTPS アクセスを実現するための Nginx 構成 SSL 証明書の詳細な説明
  • Nginx サーバーの SSL 証明書の構成と SSL 用のリバース プロキシの構成
  • nginx で SSL 証明書を設定して https サービスを実装する方法
  • Nginx ローカル構成 SSL アクセス例チュートリアル

<<:  WeChatミニプログラムにナビゲーション機能を実装する方法

>>:  MySQL 5.7.18のインストール方法とMySQLサービスの起動手順の詳細な説明

推薦する

ウェブページの読み込み速度を上げる簡単なヒント

Web ページの読み込み速度は、Web サイトの品質を評価するための重要な指標です。その理由は、ほと...

スプライトとフォントアイコンを実装するためのCSS

スプライト:以前は、各画像リソースは独立した画像でした。ブラウザが Web サイト内のさまざまな W...

カルーセル効果を書くためのjs

この記事では、カルーセルマップの効果を実現するためのjsの具体的なコードを参考までに共有します。具体...

テーブル編集操作を実現する js+Html

この記事では、テーブルの編集操作を実現するためのjs+Htmlの具体的なコードを参考までに共有します...

Docker Compose を使用して nginx のロード バランシングを実装する方法

Dockerネットワーク管理とコンテナIP設定に基づいてNginxロードバランシングを実装するすべて...

VMWare12 グラフィックチュートリアルで Apple Mac OS X をインストールする

1. はじめに:友人はシステム知識を学びたいと考えており、Apple のラップトップを使用していまし...

Windows10 での MySQL msi インストール チュートリアル (画像とテキスト付き)

1. ダウンロード1. MySQL msi 公式 Web サイトから最新のダウンロードをクリックす...

Pycharm2017はpython3.6とmysqlの接続を実現します

この記事では、pycharm2017でpython3.6とmysqlを接続する方法を参考までに紹介し...

Nginx操作応答ヘッダー情報の実装

前提条件: ヘッダー情報操作をサポートするには、ngx_http_headers_module モジ...

mysqld_multi を使用して単一のマシンに複数のインスタンスをデプロイする方法に関する MySQL チュートリアル

目次1. MySQLのコンパイルとインストール: 2. 最初のマルチインスタンス3307を準備する3...

HTML でのフォームとフォーム送信操作に関する情報のコレクション

ここでは、フォーム要素とフォーム送信に関する知識を紹介します。フォーム要素フォーム要素の DOM イ...

HTML ボディタグと HTML でよく使われる制御タグの詳細な説明

1. <body> タグ: Web ページの本体をマークするために使用されます。body...

JSホモロジー戦略とCSRFの詳細な説明

目次概要同一生成元ポリシー (SOP)相同制限クロスドメインをバイパスクロスサイトリクエストフォージ...

VueはPCカメラを呼び出して写真機能を実現します

この記事の例では、VueがPCカメラを呼び出して写真機能を実現する具体的なコードを参考までに共有して...

CSS3 弾性拡張ボックスの詳細な説明

使用フレキシブル ボックスはフロントエンドの Web ページ レイアウトで重要な役割を果たしますが、...