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

推薦する

MySQL ページング中にオフセットが大きすぎる場合の SQL 最適化の経験の共有

問題を見つけるコンテンツをリストで表示すると、リスト内のコンテンツの数は多いかもしれませんが、ユーザ...

HTML と CSS の命名規則の概要

CSS命名規則 ヘッダー: ヘッダーコンテンツ: コンテンツ/含むフッターナビゲーション: navサ...

mysql5.7 の新しい json フィールド タイプの使用例の分析

この記事では、MySQL 5.7 で追加された json フィールド タイプの使用方法を例を使って説...

VMware 仮想マシン ubuntu18.04 インストール チュートリアル

インストール手順1. 仮想マシンを作成する 2. [カスタム(詳細)]を選択し、[次へ]をクリックし...

MySQL 8.0.11 圧縮版のインストールチュートリアル

この記事では、MySQL 8.0.11のインストールチュートリアルを参考までに紹介します。具体的な内...

MySQL 匿名ログインでデータベースを作成できない問題の解決方法

よくある質問ユーザー ''@'localhost' によるデータベー...

JS 9 Promise 面接の質問

目次1. 複数の .catch 2. 複数の .catch 3. .then と .catch の連...

kindとDockerを使用してローカルKubernetes環境を起動する

導入Kubernetes を使い始めるのに丸一日を費やしたことはありませんか?最近登場したいくつかの...

MySQL シリーズ 6 のユーザーと認証

目次チュートリアルシリーズ1. ユーザー管理1. ユーザーアカウント2. アカウントの追加と削除3....

HTML thead タグの定義と使用法の詳細な紹介

コードをコピーコードは次のとおりです。 <thead> <!– 最初の 2 行をヘ...

モバイルウェブ画面適応(rem)

序文最近、フロントエンドの学習に関する以前のメモを整理したところ、モバイル Web 画面の適応 (r...

HTML に画像が存在しない場合にデフォルトの画像を表示する方法の例

画像リンク <img src="" /> jsを使用してURLが有効...

JavaScript のプライベート クラス フィールドと TypeScript のプライベート修飾子の詳細な説明

目次JavaScript のプライベート クラス フィールドとプライバシーの必要性JavaScrip...

Linux環境にMySQLデータベースをインストールする詳細なチュートリアル

1. データベースをインストールする1) yum -y install mysql-server (...

Nginx キャッシュ設定例

Web アプリケーションの開発とデバッグを行う際には、テストのためにブラウザのキャッシュをクリアした...