序文:まず、なぜ現在 HTTPS プロトコルを使用しているのかを簡単に説明します。 実際、HTTPS プロトコルを使用する最大の理由は、HTTP プロトコルが安全ではないことです。HTTP データ転送はプレーンテキスト転送データであり、つまり、クライアントがユーザー名とパスワードを入力すると、それらが表示されます。一方、HTTPS プロトコルは暗号文を使用してデータを送信するため、送信中にデータが暗号化されます。
暗号化アルゴリズム:
1. HTTPS の概要HTTPS は実際には HTTP + SSL/TLS の 2 つの部分で構成されており、暗号化された情報を処理するためのモジュールが HTTP に追加されていることを意味します。サーバーとクライアント間の情報伝送は TLS 経由で暗号化されるため、送信されるデータは暗号化されたデータになります。 HTTPS プロトコルの原則:
2. NginxはHTTPSウェブサイト設定を実装する1. Nginxをインストールする[root@Nginx ~]# yum -y インストール pcre-devel zlib-devel popt-devel openssl-devel openssl [root@Nginx ~]# wget http://www.nginx.org/download/nginx-1.18.0.tar.gz [root@Nginx ~]# ls anaconda-ks.cfg nginx-1.18.0.tar.gz [root@Nginx ~]# tar zxf nginx-1.18.0.tar.gz -C /usr/src/ [root@Nginx ~]# cd /usr/src/nginx-1.18.0/ [root@Nginx nginx-1.18.0]# useradd -M -s /sbin/nologin nginx [root@Nginx nginx-1.18.0]# ./configure \ --prefix=/usr/local/nginx \ --user=nginx \ --group=nginx \ --ファイル付きAIO\ --with-http_stub_status_module \ --with-http_gzip_static_module \ --http_flv_module \ で始まる --http_ssl_module \ で始まる --with-pcre && make && make install [root@Nginx nginx-1.18.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ [root@Nginx nginx-1.18.0]# cd [root@Nginx ~]# nginx [root@Nginx ~]# netstat -anpt | grep 80 2. サーバー証明書キーファイルを作成する[root@Nginx ~]# openssl genrsa -des3 -out server.key 1024 ... server.key のパスフレーズを入力してください: # パスワードを入力してください検証中 - server.key のパスフレーズを入力してください: # パスワードを確認してください 3. サーバー証明書のアプリケーションファイルを作成する[root@Nginx ~]# openssl req -new -key server.key -out server.csr server.key のパスフレーズを入力してください: # 先ほど作成したパスワードを入力してください... 国名(2文字コード)[XX]:CN # 国コード。中国はCNと入力します。 州または県名 (フルネーム) []:BeiJing # 省のフルネーム。 ピンイン地域名 (例: 市) [デフォルトの市]:BeiJing # 市のフルネーム。 ピンイン組織名 (例: 会社) [デフォルトの会社 Ltd]:Coco # 会社の英語名組織単位名 (例: セクション) []: # 空白のままにすることができます共通名 (例: 自分の名前またはサーバーのホスト名) []:www.Coco.com # ドメイン名電子メール アドレス []:[email protected] # 電子メール アドレス。自由に入力してください... チャレンジパスワード []: # これはオプションです 任意の会社名 []: # これはオプションです サーバーキーファイルをバックアップする [root@Nginx ~]# cp server.key server.key.org ファイルのパスワードを削除する [root@Nginx ~]# openssl rsa -in server.key.org -out server.key server.key.org のパスフレーズを入力してください: # 4. 証明書ファイルを生成する[root@Nginx ~]# openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt 署名OK 件名=/C=CN/ST=北京/L=北京/O=Coco/CN=www.Coco.com/[email protected] 秘密鍵の取得 5. Nginxのメイン設定ファイルを変更する[root@Nginx ~]# mkdir -p /usr/local/nginx/conf/ssl [root@Nginx ~]# cp server.crt server.key /usr/local/nginx/conf/ssl/ [root@Nginx ~]# vim /usr/local/nginx/conf/nginx.conf サーバー{ listen 443; # リスニングポート ssl on; # SSLを有効にする ssl_certificate ssl/server.crt; # PS: ここでは相対パスを使用しています。絶対パスを使用することもできます。 ssl_certificate_key ssl/server.key; # システムは /usr/local/nginx/conf/ ディレクトリで server_name www.Coco.com を検索します。 # 証明書に対応するドメイン名... } [root@Nginx ~]# nginx -s reload # Nginxサービスを再起動します
検証: 先ほど設定したドメイン名にアクセスします クライアント アクセスを
誤った設定: 同じ 問題: クライアントが サーバー{ 聞く 80; 聞く 443; サーバー名 www.Coco.com; ルートhtml; インデックス index.html index.htm; ^(.*)$ https://$host$1 を永続的に書き換えます。 } 正しい構成:
[root@Nginx ~]# vim /usr/local/nginx/conf/nginx.conf サーバー{ 聞く 80; サーバー名 www.Coco.com; ^(.*)$ https://$host$1 を永続的に書き換えます。 ... } サーバー{ 聞く 443; sslオン; ssl_certificate ssl/server.crt; ssl_certificate_key ssl/server.key; サーバー名 www.Coco.com; ... } [root@localhost ~]# nginx -s リロード 検証: Nginx をベースにした HTTPS ウェブサイトの設定手順についてはこれで終了です。Nginx HTTPS ウェブサイト設定の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: 純粋な CSS3 でモバイルの拡大と縮小の効果を実装するためのサンプル コード
前提条件: ヘッダー情報操作をサポートするには、ngx_http_headers_module モジ...
目次操作方法操作プロセス既存のテーブルにパーティション テーブルを作成し、データを新しいテーブルに移...
目次1. はじめに2. GitHub 3. 基本構成プロジェクトディレクトリパッケージ.json c...
序文基本的なデータ構造として、配列とオブジェクトはさまざまなプログラミング言語で重要な役割を果たしま...
Web フロントエンド開発に含まれる内容は、主に W3C 標準の構造、動作、パフォーマンスです。では...
この記事では、mysqld プロセスをシャットダウンするプロセスと、MySQL インスタンスを安全か...
公式 MySQL Web サイトから Ubuntu Linux 用の最新バージョンの MySQL を...
1. はじめにLinux でファイルの作成時刻が見つかるかどうかは、ファイル システムの種類によって...
1. RPM パッケージのインストール手順: 1. soft.version.rpm などの対応する...
コンピューターにmyeclipse2017とidea2017がインストールされているため、ideaが...
どの要素でもスクロールできるようにしながら、スクロールバーを非表示にするにはどうすればよいでしょうか...
使用フレキシブル ボックスはフロントエンドの Web ページ レイアウトで重要な役割を果たしますが、...
最近私が学んでいるのは MySQL の知識なので、MySQL をインストールすることが非常に重要です...
目次プレハブプレハブの作り方プレハブの役割1. 同じタイプのノードをバッチで作成する2. 特定の時間...
[LeetCode] 183.注文しない顧客Web サイトに、Customers テーブルと Or...