検索
ホームページ運用・保守Nginxssl モジュールを使用して HTTPS アクセスをサポートするように nginx を設定する方法

背景:

WeChat アプレットはプロジェクト開発で使用されますが、サーバー構成 URL は https である必要があるため、nginx の ssl モジュールは https アクセスをサポートするように構成する必要があります。つまり dmsdbj.com というドメイン名で Web サイトを作成するには、https://dmsdbj.com 経由でアクセスする必要があります。

ssl は英語で Secure Sockets Layer と呼ばれます。 SSL は、SSL プロトコルを使用してブラウザと Web サーバーの間に安全なチャネルを確立するデジタル証明書です。データ情報はクライアントとサーバーの間で安全に送信されます。

前提条件:

1 . SSL モジュールを設定するには、まず CA 証明書が必要です。CA 証明書は手動で発行することも、Alibaba Cloud で申請することもできます。私は Alibaba Cloud で証明書を申請しました。 (手動発行については記事下部のリンクをご参照ください)

2. ssl モジュールはデフォルトではインストールされていませんので、このモジュールを使用したい場合は、-with- を指定する必要があります。 nginx をコンパイルするときの http_ssl_module パラメータ。

Alibaba Cloud の ca 証明書の購入

操作手順:

1. ca 証明書をダウンロードします

1. Alibaba Cloud にログインし、「コンソール」-「製品とサービス」を選択し、「セキュリティ (クラウド シールド)」欄の「ca 証明書サービス (データ セキュリティ)」を選択します。

ssl モジュールを使用して HTTPS アクセスをサポートするように nginx を設定する方法

ssl モジュールを使用して HTTPS アクセスをサポートするように nginx を設定する方法

2. 購入した証明書の「ダウンロード」をクリックし、新しく開いたページで「nginx/tengine」を選択します。 nginx の証明書をダウンロードします。」

ssl モジュールを使用して HTTPS アクセスをサポートするように nginx を設定する方法

ssl モジュールを使用して HTTPS アクセスをサポートするように nginx を設定する方法

2. nginx 設定ファイルに証明書をインストールします

ファイルの説明: 1 . 証明書ファイル "証明書名.pem" には、コンテンツの 2 つのセクションが含まれています。コンテンツを削除しないでください。 2. 証明書システムによって作成された CSR の場合は、以下も含まれます。 証明書の秘密キー ファイル "証明書名.pem"。 (1) nginx設定ファイルがあるディレクトリにcertフォルダを作成し、ダウンロードしたファイルをすべてcertディレクトリにコピーします。証明書申請時にcsrファイルを自分で作成する場合は、対応するcsrファイルを入れてください。秘密キー ファイルを cert ディレクトリに作成し、その名前を「証明書名.key」にします;

(2) nginx インストール ディレクトリの conf ディレクトリにある nginx.conf ファイルを開き、次を見つけます:

# https server
# #server {
# listen 443;
# server_name localhost;
# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_timeout 5m;
# ssl_protocols sslv2 sslv3 tlsv1;
# ssl_ciphers all:!adh:!export56:rc4+rsa:+high:+medium:+low:+sslv2:+exp;
# ssl_prefer_server_ciphers on;
# location / {
#
#
#}
#}

(3) これを次のように変更します (次の属性 ssl で始まる属性は証明書の構成に直接関連しています。実際の状況に基づいて他の属性をコピーまたは調整してください):

server {
  listen 443;
  server_name localhost;
  ssl on;
  root html;
  index index.html index.htm;
  ssl_certificate  cert/证书名称.pem;
  ssl_certificate_key cert/证书名称.key;
  ssl_session_timeout 5m;
  ssl_ciphers ecdhe-rsa-aes128-gcm-sha256:ecdhe:ecdh:aes:high:!null:!anull:!md5:!adh:!rc4;
  ssl_protocols tlsv1 tlsv1.1 tlsv1.2;
  ssl_prefer_server_ciphers on;
  location / {
    root html;
    index index.html index.htm;
  }
}

保存して終了します。

(4) nginx を再起動します。

nginx -s reload

(5) https 経由でサイトにアクセスし、サイト証明書のインストールと構成をテストします。ブラウザに https://dmsdbj.com と入力します。以下の図に示すように、構成が成功したことを示しています。

ssl モジュールを使用して HTTPS アクセスをサポートするように nginx を設定する方法

インストール プロセス中に発生した問題

エラー1:

nginx: [emerg ] /usr/local/nginx/conf/nginx.conf の不明なディレクティブ "ssl":151

解決策:

このエラーは 2 つの状況によって発生する可能性があります。

ケース 1: 構成ファイルの形式が正しくありません。

解決策の参照リンク:

ケース 2: ssl モジュールがインストールされていません

デフォルトの状況 ssl モジュールがインストールされていません。このモジュールを使用したい場合は、nginx のコンパイル時に --with-http_ssl_module パラメータを指定する必要があります。この状況でもエラーが発生します2.

解決策:

nginx には http_ssl_module モジュールがありません。コンパイルしてインストールするときは、 --with-http_ssl_module 構成を持ってくるだけですが、現在の状況では、nginx はすでにインストールされています。モジュールを追加する方法は実際には非常に簡単です。続きを読んでください: 注: 私の nginx インストール ディレクトリは /usr/local/nginx ディレクトリであり、ソース コード パッケージは /usr/local/src/nginx-1.3.6 ディレクトリにあります。

(1) ソース コード パッケージに切り替えます:

cd /root/nginx-1.13.6

(2) 設定情報:

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

(3) 設定が完了したら、make を実行してコンパイルします。 make install を実行しないでください。実行しないと、インストールが上書きされます。

mark

(4) 次に、元のインストール済み nginx をバックアップします。

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

(5) nginx を停止します。通常のコマンド nginx -s stop

nginx -s stop

を使用します。 off そうでない場合は、プロセスを直接強制終了します。 ps aux | grep プロセス名を実行すると、プロセスが占有している PID 番号が表示されます。

ps aux|grep nginx

ssl モジュールを使用して HTTPS アクセスをサポートするように nginx を設定する方法

検出された pid を kill するだけです。kill -9 pid コマンドを使用してプロセスを終了します。次の 3 つのEveryone PID を続行する前に、まず root に対応する PID を強制終了する必要があります。

kill -9 10922
kill -9 28276
kill -9 28277
kill -9 28278

(6) 元の nginx をコンパイルしたばかりの nginx

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

(7) で開始します nginx

nginx

(8) 次のコマンドを使用して、すでに参加しているかどうかを確認します成功しました。

nginx -v

エラー 2:

nginx: [emerg] "ssl" パラメータには /usr/local/nginx/conf/nginx.conf の ngx_http_ssl_module が必要です:148

ssl モジュールを使用して HTTPS アクセスをサポートするように nginx を設定する方法

# #解決策:

この状況の解決策については、エラー 1 の 2 番目の状況の解決策を参照してください。

エラー 3:

nginx を停止しています... nginx: [emerg] bio_new_file("/usr/local/nginx/conf/cert/214291778530222. pem") が失敗しました (ssl: エラー:02001002:システム ライブラリ:fopen:そのようなファイルまたはディレクトリはありません:fopen('/usr/local/nginx/conf/cert/214291778530222.pem','r') エラー:2006d080:bioルーチン:bio_new_file:そのようなファイルはありません) が失敗しました。強制終了を使用してください

ssl モジュールを使用して HTTPS アクセスをサポートするように nginx を設定する方法

解決策:

証明書のパスが保存されていないことが原因である可能性があります正しい場所に 正しく発生しており、絶対パスを記述していればWindows、Linux問わずエラーが報告されます。

証明書ファイルを nginx.conf が存在するディレクトリに置きます。

以上がssl モジュールを使用して HTTPS アクセスをサポートするように nginx を設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は亿速云で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
Nginx in Action:例と現実世界のアプリケーションNginx in Action:例と現実世界のアプリケーションApr 17, 2025 am 12:18 AM

Nginxは、Webサイトのパフォーマンス、セキュリティ、およびスケーラビリティを改善するために使用できます。 1)逆プロキシおよびロードバランサーとして、Nginxはバックエンドサービスを最適化し、トラフィックを共有できます。 2)イベント駆動型および非同期アーキテクチャを通じて、nginxは高い並行接続を効率的に処理します。 3)構成ファイルでは、静的ファイルサービスやロードバランシングなどのルールの柔軟な定義を可能にします。 4)最適化の提案には、GZIP圧縮の有効化、キャッシュの使用、およびワーカープロセスの調整が含まれます。

Nginxユニット:さまざまなプログラミング言語をサポートしますNginxユニット:さまざまなプログラミング言語をサポートしますApr 16, 2025 am 12:15 AM

Nginxunitは複数のプログラミング言語をサポートし、モジュラー設計を通じて実装されています。 1。言語モジュールの読み込み:構成ファイルに従って対応するモジュールをロードします。 2。アプリケーションの起動:呼び出し言語が実行されたときにアプリケーションコードを実行します。 3。リクエスト処理:リクエストをアプリケーションインスタンスに転送します。 4。応答返品:処理された応答をクライアントに返します。

nginxとapacheを選択する:あなたのニーズに合った適切nginxとapacheを選択する:あなたのニーズに合った適切Apr 15, 2025 am 12:04 AM

NginxとApacheには独自の利点と短所があり、さまざまなシナリオに適しています。 1.Nginxは、高い並行性と低リソース消費シナリオに適しています。 2。Apacheは、複雑な構成とリッチモジュールが必要なシナリオに適しています。コア機能、パフォーマンスの違い、ベストプラクティスを比較することで、ニーズに最適なサーバーソフトウェアを選択するのに役立ちます。

nginxを開始する方法nginxを開始する方法Apr 14, 2025 pm 01:06 PM

質問:nginxを開始する方法は?回答:nginxスタートアップnginx検証nginxはnginxを開始しました他のスタートアップオプションを自動的に開始

Nginxが開始されるかどうかを確認する方法Nginxが開始されるかどうかを確認する方法Apr 14, 2025 pm 01:03 PM

nginxが開始されるかどうかを確認する方法:1。コマンドラインを使用します:SystemCTLステータスnginx(Linux/unix)、netstat -ano | FindStr 80(Windows); 2。ポート80が開いているかどうかを確認します。 3.システムログのnginx起動メッセージを確認します。 4. Nagios、Zabbix、Icingaなどのサードパーティツールを使用します。

nginxを閉じる方法nginxを閉じる方法Apr 14, 2025 pm 01:00 PM

NGINXサービスをシャットダウンするには、次の手順に従ってください。インストールタイプを決定します:Red Hat/Centos(SystemCtl Status Nginx)またはDebian/Ubuntu(Service Nginx Status)サービスを停止します:Red Hat/Centos(SystemCtl Stop Nginx)またはDebian/Ubuntu(Service Nginx Stop)無効自動起動(オプション):Debuntos/Centos/Centos/Centos/Centos/Centos (syst

Windowsでnginxを構成する方法Windowsでnginxを構成する方法Apr 14, 2025 pm 12:57 PM

Windowsでnginxを構成する方法は? nginxをインストールし、仮想ホスト構成を作成します。メイン構成ファイルを変更し、仮想ホスト構成を含めます。 nginxを起動またはリロードします。構成をテストし、Webサイトを表示します。 SSLを選択的に有効にし、SSL証明書を構成します。ファイアウォールを選択的に設定して、ポート80および443のトラフィックを許可します。

nginx403エラーを解く方法nginx403エラーを解く方法Apr 14, 2025 pm 12:54 PM

サーバーには、要求されたリソースにアクセスする許可がなく、NGINX 403エラーが発生します。ソリューションには以下が含まれます。ファイル許可を確認します。 .htaccess構成を確認してください。 nginx構成を確認してください。 SELINUXアクセス許可を構成します。ファイアウォールルールを確認してください。ブラウザの問題、サーバーの障害、その他の可能なエラーなど、他の原因をトラブルシューティングします。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)