単一の 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サービスの起動手順の詳細な説明

推薦する

Javascript の基礎: 演算子とフロー制御の詳細な説明

目次1. オペレーター1.1 算術演算子1.2 インクリメント演算子とデクリメント演算子1.3 比較...

MySQLデータのエクスポートとインポートに関する知識ポイントの簡単な分析

多くの場合、ローカル データベースのデータをエクスポートしたり、他のデータベースからデータをインポー...

Navicat の MySQL へのリモート接続の実装手順の分析

序文皆さんはリモート サーバーで開発を行っており、MySQL の使用率はかなり高いはずです。コマンド...

spring-boot と docker-java に基づいて Docker コンテナの動的な管理と監視を実装します [完全なソース コードのダウンロード付き]

Docker入門Docker はオープンソースのアプリケーション コンテナ エンジンです。従来の仮...

MySQLデュアルマシンホットスタンバイと負荷分散の実装手順の詳細説明

MySQL データベースには増分バックアップ メカニズムはありませんが、マスター データベース内のす...

MySQLカーソルの使い方と機能の詳細な説明

[mysqlカーソルの使い方と機能]例:現在、テーブル A、B、C の 3 つのテーブルがあります。...

シンプルな時計を実装するJavaScript

この記事では、JavaScriptでシンプルな時計を実装するための具体的なコードを参考までに紹介しま...

Element-UIの10の驚くべきトリックのまとめ

目次el-scrollbar スクロールバーel-uploadはクリックをシミュレートしますel-s...

1 つの記事で Vuex を理解する

目次概要Vuex の 4 つの主要オブジェクト状態の使用突然変異の使用ゲッターの使用アクションの使用...

mysql5.7.18のインストールと初期パスワードの変更方法

CentosでのMySQLのインストールについては、以前の記事を参照してください。 Centos7....

JavaScriptの基本構文とデータ型の詳細な説明

目次JavaScript のインポート1. 内部ラベル2. 外部紹介基本的な構文データ型番号弦ブール...

シンプルなウェブ計算機を実装するJavaScript

背景私は新しいプロジェクト チームに配属されたので、プロジェクトでは js を使用する必要があります...

Vue における nextTick の役割といくつかの簡単な使用シナリオ

目的nextTickの役割といくつかの簡単な使用シナリオを理解する文章その機能は何ですか?遅延コール...

WordPress実験を実装するための3つの仮想マシンのKVM展開の詳細説明

1. KVM の概要カーネルベースの仮想マシンの略称は、Linux 2.6.20 以降のすべての主要...

MySQL エラー コード 1064 の解決策

SQL ステートメント内の単語が mysql のキーワードと競合する場合は、`` (タブ キーの上)...