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 を入力すると、バックグラウンドでは具体的に何が起こるのでしょうか?

推薦する

Nginx 仮想ホスト (IP ベース) を構成する 3 つの方法の詳細な説明

Nginx は、IP ベースの仮想ホスト構成、ポート ベースの仮想ホスト構成、ドメイン名ベースの仮想...

VMware WorkStation 14 pro インストール Ubuntu 17.04 チュートリアル

この記事では、VMware Workstation14 ProにUBuntu17.04をインストール...

Vue はシェイク機能を実装します (ios13.3 以降と互換性があります)

最近、shake.jsを使用して、shakeに似た機能を作成しました。ただし、shake機能はios...

アイデアのパッケージ化とクラウドサービスへのアップロードにおけるプロジェクトプロセスの分析

1つ。まず、アイデアとしてパッケージ化する必要があります。私はSpringbootフレームワークプロ...

Linux システム構成 (サービス制御) の詳細な紹介

目次序文1. システムサービス制御1. システムctl 2. ターゲット3. 共通システムサービス4...

Navicat PremiumはMySQLデータベースを操作します(SQL文を実行します)

1. Navicatの紹介1. Navicat とは何ですか? Navicat は強力な MySQ...

ARMアーキテクチャにおける関数呼び出しプロセスの簡単な分析

目次1. 背景知識1. ARM64レジスタの紹介2. STP命令の詳しい説明(ARMV8マニュアル)...

Ubuntu 20.04 では、隠し録音ノイズ低減機能が有効になります (推奨)

最近、 Ubuntu 20.04でkazamを使用して録音しているときに、問題が見つかりました。シス...

MySQL マスタースレーブの原理と構成の詳細

MySQLのマスタースレーブ構成と原理、参考までに具体的な内容は以下のとおりです。 1. 環境の選択...

入力のsize属性とmaxlength属性の違い

最近、プロジェクトで input size 属性と maxlength 属性を使用しました。以前は、...

Linux で特殊文字のファイル名やディレクトリを削除する方法

inode番号でファイルを削除するまずls -iを使用して、削除するファイルのinode番号を見つけ...

CSSはグラデーションを巧みに利用して高度な背景光アニメーションを実現します

成し遂げるこの効果は CSS を使用して完全に再現することは困難です。 CSS でシミュレートされた...

Workermanはmysql接続プールのサンプルコードを書きます

まず、接続プールを使用する理由と、接続プールによってどのような問題が解決できるかを理解する必要があり...

自己終了XHTMLタグを書くときに注意すべきこと

XHTMLの img タグは、次のように記述する必要があります: <img alt="...

MySQL ログイン エラーを解決する: 'ユーザー 'root'@'localhost' へのアクセスが拒否されました

まず、コマンドラインまたはワークベンチを使用して MySQL にログインできず、「ユーザー '...