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

推薦する

Linux trコマンドの使用

1. はじめにtr はテキストの一部を変換または削除するために使用されます。 tr は transl...

フレックスレイアウトの改行スペースでの align-content の使用

1. この記事で実装した効果図は以下のとおりです。レイアウトの右側に Flex レイアウトを使用し、...

MySQL 8のパスワードを忘れた場合のベストな対処法の簡単な分析

序文MySQL に精通している読者は、MySQL が非常に迅速に更新されることに気付くかもしれません...

HTML は Double 11 クーポン取得を実装します (クーポン取得ページを開く時間を設定します)

さっそく、コードを直接投稿します。具体的なコードは次のとおりです。 <!DOCTYPE htm...

CentOS 8 に htop をインストールする方法のチュートリアル

システムをインタラクティブに監視したい場合は、htop コマンドが最適な選択肢の 1 つです。 ht...

MySQLオンラインログライブラリの移行例

最近の事例をお話ししましょう。オンライン Alibaba Cloud RDS 上のゲーム ログ ライ...

MySQL innodb例外の修復に関する経験の共有

テスト用の MySQL ライブラリのセット。以前使用されていたバージョンは、centos6 のデフォ...

JavaScript における Promise の詳細な説明

目次Promise の基本的な使用法: 1. Promiseオブジェクトを作成する2. プロミス方式...

Win10 + Ubuntu20.04 LTS デュアルシステムブートインターフェースの美化

エフェクト表示組み込みのブートインターフェースがあまりにも醜いので、テーマをダウンロードして美しくし...

Apache クロスドメイン リソース アクセス エラーの解決策

多くの場合、大規模および中規模の Web サイトでは、静的リソース (フォント ファイル、画像など)...

MySQL テーブル作成外部キー エラーの解決方法

データベーステーブルA: テーブル task_desc_tab を作成します ( id INT(11...

HTML <!--...--> コメントタグの役割の詳細な分析

多くのウェブサイトのソースコードを確認すると、多くのコメントが見つかります。特に、ソース文書にコメン...

Javascript イベントキャプチャとバブリングメソッドの詳細な説明

目次1. イベント処理モデル1. イベントバブリング(1)3つのdiv要素にイベントをバインドする(...

MySQLデータベース設計:Pythonを使ったスキーマ操作方法の詳しい解説

矢が放たれる前に、弓は矢にささやきました。「お前の自由は私のものだ。」スキーマは矢のようなもので、弓...

Vueデータ監視の原理の詳細な説明

目次1. はじめにII. 監視対象2.1 なぜオブジェクトを監視する必要があるのですか? 2.2 デ...