Nginx SSL証明書設定エラーの解決策

Nginx SSL証明書設定エラーの解決策

1. はじめに

Web プロジェクトを Linux サーバーで公開する場合、SSL 証明書を構成する必要があることがあります。これは、Web サイトがより公式になることを意味します (笑)。証明書をダウンロードして nginx.conf を設定すると、再起動以外はすべて準備完了です。その結果、再起動したら、何かおかしなことが起こりました。

nginx: [emerg] 不明なディレクティブ ssl、これはエラー メッセージです

この SSL 証明書を構成するときに nginx の SSL モジュールを参照する必要がありますが、最初に Nginx をコンパイルしたときに SSL モジュールを一緒にコンパイルしなかったため、このエラーが発生しました。

2. エラー解決手順

インストール時に SSL がコンパイルされなかったため、nginx をアンインストールして再インストールする必要がありますか?いいえ、いいえ、元のベースに SSL モジュールを追加するだけです。

ステップ 1: nginx パッケージをダウンロードした解凍ディレクトリに移動します。私が書いたチュートリアルに従ってインストールした場合、解凍ディレクトリは「/usr/loacl/src/」になります。ほとんどのものはこのディレクトリにあるはずですが、これはすでに標準になっています。

ステップ 2: 解凍したディレクトリに入ったら、次のコマンドを順番に実行します。

コマンド 1、./configure --with-http_ssl_module //SSL モジュールを再度追加します

エラーが発生しない場合は、コマンド2を確認してください。

このエラーは、上記のコマンド (./configure: error: SSL module requires OpenSSL library.) を実行すると発生します。原因は OpenSSL が見つからないことです。別のものをインストールして、yum -y install openssl openssl-devel を実行します。

OpenSSL をインストールしたら、./configure を実行し、「コマンド 1」を実行します。

コマンド 2: make コマンドを実行しますが、make install は実行しないでください。make はコンパイルに使用され、make install はインストールに使用されるためです。そうしないと、nginx 全体が上書きされます。

コマンド 3。コマンドを実行すると、nginx 解凍ディレクトリの objs フォルダに追加の nginx ファイルがあることがわかります。これがプログラムの新しいバージョンです。まず、以前の nginx をバックアップし、新しいプログラムをコピーして以前のものを上書きします。

cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

cp objs/nginx /usr/local/nginx/sbin/nginx

コマンド 4. 最後に、Nginx インストール ディレクトリに移動して、SSL モジュールが正常にインストールされたかどうかを確認します。 ./sbin/nginx -V を実行すると、次の図が表示されます。

3. 最後に、上記のような画面が表示されれば、Nginx に SSL モジュールが追加され、コンパイルされているので、今度は再起動しても OK です。

nginx を再起動すると、次のエラーが報告されます。

nginx エラー: [警告] 「ssl」ディレクティブは非推奨です。代わりに「listen ... ssl」ディレクティブを使用してください

443 ssl をリッスンするように ssl をオンに変更します。

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

以下もご興味があるかもしれません:
  • Nginx での SSL 証明書のインストールと展開手順の概要
  • SSL を実装するために nginx を設定する方法の例
  • Nginx ドメイン名 SSL 証明書の構成 (Web サイトの http を https にアップグレード)
  • Nginx 構成 SSL および WSS 手順の紹介

<<:  MySQL で '%' を含むフィールドをクエリする方法の詳細な説明 (ESCAPE の使用法)

>>:  HTML テーブルタグチュートリアル (3): 幅と高さの属性 WIDTH、HEIGHT

推薦する

HTML+CSS を使用して、画像の右上隅に削除の十字と画像削除ボタンを追加します。

記録として、将来使用される可能性があり、困っている友人も使用できます。 BBはもうやめて、まずはレン...

Linux でプロセスを効果的に管理するための 8 つのコマンド

序文プロセス管理の役割:サーバーの健全性状態を判定する: プロセスの状態 (メモリ、CPU 占有率な...

MySQL binlog を使用して誤って削除されたデータベースを復元する方法

目次1 現在のデータベースの内容を表示し、データベースをバックアップする2 bin_log関数を有効...

HTML DOCTYPEの略語

DOCTYPE が次のとおりである場合:コードをコピーコードは次のとおりです。 <!DOCTY...

ウェブサイトのデザイン体験のための7つの異なるカラースキーム

ウェブサイト構築におけるカラーマッチングは非常に特殊であり、ウェブサイトのテーマ、感情、雰囲気などの...

mysqldump を使用した MySql のインポートおよびエクスポート方法の概要

データベースデータをエクスポートします:まずcmdを開いてMySQLのbinフォルダに入ります1. ...

show processlist コマンドによる MySQL パフォーマンス検査の説明

show processlist コマンドは非常に便利です。MySQL の実行が 50% 以上になる...

MySQL 5.7 生成列の使用例の分析

この記事では、例を使用して、MySQL 5.7 で生成された列の使用方法を説明します。ご参考までに、...

MySQLインジェクションバイパスフィルタリング技術の概要

まず、GIF 操作を見てみましょう。ケース1: スペースがフィルタリングされるスペースの代わりに角括...

ページ内の検索エンジンの呼び出しはBaiduを例に挙げています

今日、突然、自分のウェブページで Google や Baidu のような強力な検索エンジンを呼び出す...

nginxフロー制御とアクセス制御の実装

nginx トラフィック制御レート制限は非常に便利ですが、Nginx では誤解され、誤って設定される...

JavaScript における BOM と DOM の詳細な説明

目次BOM (ブラウザ オブジェクト モデル) 1. ウィンドウブラウザのウィンドウサイズを取得する...

mysql5.7.18 のインストール時にエントリが見つからない問題の解決方法

mysql5.7.18のインストール時に次の問題が発生しました: プログラム入力ポイントfesetr...

EF (Entity Framework) の挿入または更新データ エラーの解決方法

エラー メッセージ:ストアの更新、挿入、または削除ステートメントが予期しない行数 (0) に影響を与...

MySQLがクエリキャッシュをキャンセルした理由

MySQL には以前、クエリ キャッシュ (Query Cache) がありました。8.0 以降では...