Nginx 構成の実装 HTTPS セキュリティ認証

Nginx 構成の実装 HTTPS セキュリティ認証

1. HttpとHttpsの違い

HTTP: インターネットで最も広く使用されているネットワーク プロトコルです。クライアントとサーバーの要求と応答 (TCP) の標準です。WWW サーバーからローカル ブラウザーにハイパーテキストを転送するために使用される転送プロトコルです。ブラウザーの効率を高め、ネットワーク転送を削減できます。

HTTPS: セキュリティを目的とした HTTP チャネルです。簡単に言えば、HTTP のセキュア バージョンであり、HTTP の下に SSL レイヤーが追加されています。HTTPS のセキュリティの基礎は SSL であるため、暗号化された詳細には SSL が必要です。 HTTPS プロトコルの主な機能は、情報セキュリティ チャネルを確立してデータ転送のセキュリティを確保することと、Web サイトの信頼性を確認することの 2 つに分けられます。

HTTPS と HTTP の主な違いは次のとおりです。

1. https プロトコルでは、CA に証明書を申請する必要があります。一般的に、無料の証明書は少ないため、一定の料金が必要です。
2. HTTP はハイパーテキスト転送プロトコルであり、情報はプレーンテキストで送信されますが、HTTPS は安全な SSL 暗号化転送プロトコルです。
3. http と https は完全に異なる接続方法と異なるポートを使用します。前者は 80 で、後者は 443 です。
4. http 接続は非常にシンプルでステートレスです。HTTPS プロトコルは、SSL+HTTP プロトコルによって構築されたネットワーク プロトコルで、暗号化された送信と ID 認証を実行できます。http プロトコルよりも安全です。

1) HTTPアクセス: 一部のブラウザでは認証されていないアクセスは安全ではなくセキュリティリスクがあるというメッセージが表示されます。

画像-20210523181111096

2) httpsアクセス:認証後

画像-20210523181224421

Nginx 構成 Https

1. nginxのSSLモジュールをインストールする

1. SSL 証明書を設定する前に、nginx に SSL モジュールがインストールされていることを確認してください。通常、自分でインストールした nginx には SSL モジュールが含まれていません。

nginxにsslモジュールがインストールされているかどうかを確認します

cd nginxインストールディレクトリ sbin入力

./nginx -V 

画像-20210523181704656

赤いボックス内の情報が表示されれば、インストールされたことが証明されます。

2. SSLモジュールがインストールされていない場合

nginxを解凍したディレクトリ(nginxがインストールされているディレクトリではありません)を入力し、

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

次に実行

make #make install を実行しないでください。そうしないと nginx が再インストールされます。

3. objsフォルダに入り、フォルダ内にnginxファイルがあるので、sbinの下のnginxを置き換えます。

#nginx がオンになっている場合は、まず sbin に入り、nginx サービスを停止します。/nginx -s stop #nginx サービスを停止します# cp compressed nginx path (your own)installed nginx path (your own) 
cp /root/nginx/objs/nginx /usr/local/ngin/sbin

4. 成功したら、nginxのインストールディレクトリに入り、SSLが正常にインストールされているかどうかを確認します。

./nginx -V
#実行権限が不十分です nginx に権限を与えます chmod 111 nginx

2. SSL証明書を構成する

Alibaba Cloud では、Baidu で入手できる無料の SSL 証明書を申請できます (証明書は通常、pem とキー ファイルです)

1. 証明書をフォルダにアップロードする(カスタム)

mkdir -p /nginx/カードキーpem 

画像-20210523184201035

2. SSLを設定し、nginxインストールディレクトリにconfファイルを入力します。

/usr/local/nginx/conf をコピーします。
vim nginx.conf
http {
    mime.types を含めます。
    デフォルトタイプ アプリケーション/オクテットストリーム;
    ファイル送信オン;
    キープアライブタイムアウト65;
    
サーバー{
        listen 443; #ポート443をリッスン server_name www.qingfenginn.top; #ドメイン名 ssl on; #SSLをオンにする
        ssl_certificate /root/nginx/card-key-pem/5386933_www.qingfenginn.top.pem; #アップロードした SSL 証明書の pem ファイル パス ssl_certificate_key /root/nginx/card-key-pem/5386933_www.qingfenginn.top.key; #アップロードした SSL 証明書のキー ファイル パス location / { #アクセス パス#プロジェクトへのリバース プロキシ http://パブリック ネットワーク アドレス: ポート proxy_pass http://www.qingfenginn.top:81; 
        }
 }


サーバー{
        listen 80; #ポート80をリッスンします server_name www.qingfenginn.top;
		#リクエストをhttpsに変換する
        ^(.*)$ https://$host$1 を永続的に書き換えます。 
    }
}

注: 設定後、nginx はポート 443 とポート 80 の両方をリッスンします。ポート 443 をセキュリティ グループの開発ポートに追加する必要があります。

3. 設定を有効にするためにnginxを再起動します。

sbinディレクトリに入る

まず設定ファイルが正しいかどうかを確認します

./nginx -t 

画像-20210523185524664

nginxを起動する

./nginx -s reload //再起動./nginx -s stop //停止./nginx //開始

ドメイン名を使ってアクセスすることができます

Nginx 構成の HTTPS セキュリティ認証の実装に関するこの記事はこれで終わりです。より関連性の高い Nginx 構成の HTTPS 認証コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • nginx 環境で SSL 暗号化を構成する (単一および双方向認証、部分的な https)

<<:  表面的なウェブデザイン

>>:  URL を入力すると、バックグラウンドでは具体的に何が起こるのでしょうか?

推薦する

Windowsタイムサーバーの設定方法の詳しい説明

最近、会社のサーバーの時間が不正確で、外部の時間ソースと同期できないことがわかりました。会社はドメイ...

react setStateの詳細な説明

目次setState は同期ですか、それとも非同期ですか?カスタム合成イベントと React フック...

webpackの遅延読み込みとプリロードの詳細な説明

目次通常の読み込み遅延読み込みプリロードプリロードを使用しないプリロードの使用要約する通常の読み込み...

テーブル切り替えのための JavaScript プラグインのカプセル化

この記事では、テーブル切り替えプラグインを実装するためのJavaScriptのカプセル化コードを参考...

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

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

MySQL テーブルタイプ ストレージエンジンの選択

目次1. 現在のデータベース支出のストレージエンジンを表示する方法1:方法2: 2. ENGINE=...

Vueコンポーネント間の通信の非常に詳細な要約

目次序文1. Props、$emit一方向データフロー2. $親、$子3. $attrs、$list...

最も単純な ErrorBoundary コンポーネントをカプセル化して、React 例外を処理する

序文React 16から、子コンポーネントで発生したエラーを捕捉し、エラーログを記録し、ダウングレー...

Centos7のシステム言語を簡体字中国語に変更する方法

例示するシステムを自分でインストールする場合は、通常、システム言語をカスタマイズできます。ただし、ク...

Vueのイベント処理とイベント修飾子の詳細な説明

<div id="ルート"> <h2>頑張れ、{{na...

htmlダウンロード機能の詳しい説明

新しいプロジェクトは基本的に終了しました。フロントエンドとバックエンドを分離して統合を完了したのは初...

MySQL-8.0.26 構成グラフィックチュートリアル

はじめに: 最近、会社のプロジェクトでデータベースのバージョンが変更されました。ここでは、MySQL...

ReactのPropsの簡単な比較

目次クラスコンポーネントのプロパティ比較浅い同等の浅い比較機能コンポーネントの簡単な比較先週面接に行...

MySQL 外部キー制約 (FOREIGN KEY) ケースの説明

MySQL 外部キー制約 (FOREIGN KEY) はテーブルの特別なフィールドであり、主キー制約...

MySQLクエリ最適化プロセスを理解する

目次パーサーとプリプロセッサクエリオプティマイザーMySQL クエリの最適化には、解析、前処理、最適...