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

推薦する

Win7 で IIS7 Web および FTP サービスを完全にアンインストールする方法

昨日、パソコンにPHP開発環境をセットアップした後、Apacheサーバーを再起動するとエラーが続きま...

MySQL データテーブルのパーティション戦略と利点と欠点の分析

目次なぜパーティションが必要なのでしょうか?パーティショニング戦略パーティションの危険性なぜパーティ...

Vueにログイン認証傍受機能を設置するアイデアを詳しく解説

目次1. 解決策2. サーバーから返されたトークンをブラウザに保存する3. リクエストにアクセス権限...

ウェブサイトに天気予報を挿入する方法

天気予報をウェブサイトに挿入すると、次のような効果が得られます。次のコードを挿入する必要があります:...

ブロックレベル要素、インライン要素、可変要素の概要

ブロック要素p - 段落テキストの事前フォーマットテーブルol - ソートフォームul - 順序なし...

Vue+express+Socketでチャット機能を実現

この記事では、チャット機能を実現するためのVue+express+Socketの具体的なコードを参考...

openlayers6 マップオーバーレイの一般的な 3 つの用途 (ポップアップウィンドウマーカーテキスト)

目次1. 前に書く2. ポップアップウィンドウを実装するためのオーバーレイ2.1 vueページのad...

Vue.js ドロップダウン コンポーネント付きテキストボックス

ドロップダウン付きのテキストボックスを使用すると、ユーザーはドロップダウン リストから入力を選択した...

フロントエンドの状態管理(パート2)

目次1. 再出発1.1. ストア(司書) 1.2. 状態(書籍) 1.3. アクション(図書貸出リス...

WeChatアプレットは写真の撮影とアルバムからの写真の選択を実現します

この記事では、WeChatアプレットで写真を撮ったり、アルバムから写真を選択したりするための具体的な...

Jenkins + Docker + ASP.NET Core の自動デプロイメントの問題について (落とし穴を避ける)

このブログを書くつもりはなかったのですが、実際の操作中に、ネットワークの問題に圧倒されたこと (ネッ...

Vueは小さなメモ帳機能を実装しました

この記事の例では、メモ帳の小さな機能を実現するためのvueの具体的なコードを参考までに共有しています...

Docker で Portainer ビジュアル インターフェースを構築するための詳細な手順

前回述べた問題を解決するために、オンラインで検索したところ、非常に優れたビジュアル インターフェース...

Tomcat 初回展開 Web プロジェクト プロセス図

独自のWebプロジェクトをtomcatディレクトリの下のwebappsディレクトリに配置します。 R...

TCP 3 回目のハンドシェイク データ転送プロセス図

RFC793 ドキュメントの SYN フラグを持つプロセス パケットはデータを伝送できません。つま...