すべてのプロダクト
Search
ドキュメントセンター

Certificate Management Service:NGINX の http_ssl_module に関する問題と解決策

最終更新日:Apr 22, 2025

NGINX サーバーは、http_ssl_module モジュールを使用して SSL 証明書を読み込みます。 NGINX サーバーに証明書をインストールする前に、サーバーにこのモジュールが含まれていることを確認する必要があります。

一般的なエラー

エラー 1: the "ssl" parameter requires ngx_http_ssl_module

原因: NGINX サーバーが http_ssl_module モジュールを使用してコンパイルされていません。

エラー 2: nginx: [emerg] unknown directive “ssl” in /usr/local/nginx/conf/nginx.conf

原因: NGINX サーバーの構成ファイルを変更し、nginx -s reload コマンドを実行した後に上記のエラーが表示された場合、現在のバージョンの NGINX は http_ssl_module モジュールを使用してコンパイルされていません。

エラー 3: ./configure: error: SSL modules require the OpenSSL library

原因: OpenSSL 依存関係ライブラリが見つかりません。

解決策

サーバーに OpenSSL がインストールされているかどうかを確認します。 NGINX サーバーが http_ssl_module モジュールを使用してコンパイルされていない場合は、http_ssl_module モジュールを含めるように NGINX サーバーを再コンパイルします。

説明

この例では、64 ビット CentOS 8.0 オペレーティングシステムを実行し、OpenSSL 1.1.1k がインストールされている NGINX 1.14.1 サーバーを使用しています。この例は参照用です。ご使用の NGINX のバージョンに基づいて、互換性のある OpenSSL バージョンを選択することをお勧めします。

  1. 現在の NGINX バージョンに http_ssl_module モジュールが含まれているかどうかを確認します。

    1. 次のコマンドを実行して、NGINX のコンパイル パラメーターを確認します。

      nginx -V | grep http_ssl_module
    2. 出力に --with-http_ssl_module が含まれている場合、http_ssl_module モジュールが含まれています。そうでない場合は、http_ssl_module モジュールが含まれていないため、手動でインストールする必要があります。

      image

  2. http_ssl_module モジュールをインストールします。

    # CentOS の場合、OpenSSL 1.1.1k バージョンです。Nginx に基づいて互換性のある OpenSSL バージョンを選択してください。
    sudo yum install openssl-devel-1.1.1k
  3. http_ssl_module モジュールを構成してコンパイルします。

    # Nginx インストールディレクトリに移動します (ディレクトリの例です。実際の Nginx インストールディレクトリに置き換えてください)。
    cd /usr/local/nginx/
    # http_ssl_module を構成します。その他のパラメーターはカスタマイズできます。
    ./configure --with-http_ssl_module
    # コンパイルします。
    sudo make 
    重要

    make install コマンドを実行しないでください。実行すると、元の NGINX 構成が上書きされます。

  4. http_ssl_module モジュールが正常にインストールされたかどうかを確認します。インストールされていない場合は、手順 2 と 3 を繰り返します。

    nginx -V | grep http_ssl_module
  5. NGINX サービスを再起動します。

    # Nginx サービスの実行可能ファイルのディレクトリに移動します (ディレクトリの例です。実際のパスを使用してください)。
    cd /usr/local/nginx/sbin
    # 構成ファイルを再読み込みします。
    ./nginx -s reload