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

推薦する

.NETCore Dockerはコンテナ化とプライベートイメージリポジトリ管理を実装します

1. Dockerの紹介Docker は Linux オペレーティングシステムの一部の機能をベースに...

HTML チュートリアル: title 属性と alt 属性

XHTML は CSS レイアウトの基礎です。jb51.net は常に XHTML 知識の習得を重視...

Nginxホットデプロイメントの実装

目次セマフォNginx ホットデプロイメント上記のブログ投稿に従ってください。ファイアウォールをオフ...

MySql のサブクエリ内のクエリ例の詳細な説明

北西を見ると私の故郷はどこにあるでしょうか。南東の満月を何度見たことがあるでしょうか。月が再びゆっく...

HTML要素のID属性とName属性の違い

今日、私は <a href="#13"></a> につい...

エレガントなJSコードの書き方

目次変数意味があり発音しやすい変数名を使用する同じ型の変数には同じ語彙を使用する検索可能な名前を使用...

MySQL マスタースレーブレプリケーションの読み書き分離構造の詳細な説明

MySQL マスタースレーブ設定MySQL のマスター/スレーブ レプリケーションと読み取り/書き込...

mysql 5.7.11 winx64 初期パスワード変更

公式サイトからMySQL-5.7.11-winx64の圧縮版をダウンロード。インストール後、パスワー...

CSSでemを開く正しい方法の詳細な説明

「通常 1em=16px」と言うのはなぜですか?ユーザーのブラウザによってレンダリングされるデフォル...

ウェブページ印刷細線表+ページ印刷究極の戦略

最近、クライアントのために印刷していたとき、ページのヘッダーを印刷するのではなく、表の内容だけを印刷...

HTMLテーブルの詳細な説明

機能: データ表示、テーブルアプリケーションシナリオ。 <table> テーブル<...

Docker tomcatのメモリサイズを設定する方法

Docker に Tomcat をインストールする場合、大きなファイルをダウンロードするときなど、場...

Reactでカスタムフックを作成する方法を教えます

1. カスタムフックとは何かロジックの再利用簡単に言えば、カスタム フックを使用すると、特定のコンポ...

Linux で Bash 環境変数を設定する方法

Shell は C 言語で書かれたプログラムであり、ユーザーが Linux を使用するための橋渡しと...

CentOS 7.x のマスターおよびスレーブ DNS サーバーの展開

1. 準備例: 2 台のマシン: 192.168.219.146 (マスター)、192.168.21...