11. Nginx HTTPS

Nginx HTTPS

HTTPSの基本概念

ここに画像の説明を挿入

1.SSL

  • Secure SocketLayer
  • ユーザーとサーバーを認証して、データが正しいクライアントとサーバーに送信されるようにします
  • データが途中で盗まれるのを防ぐためにデータを暗号化する
  • データの整合性を維持して、転送プロセス中にデータが変更されないようにします

2.HTTPS

SSLを使用して安全な通信を実現

3.証明書

  • 証明書は、キーの合法性を保証するために使用されます

  • 証明書の対象は、ユーザー、コンピューター、サービスなどです。

  • 証明書の形式はX.509標準に準拠しています

  • デジタル証明書には情報が含まれています

    • ユーザーの公開鍵の値
    • ユーザー識別情報(名前やメールアドレスなど)
    • 限られた期間(整数の有効時間)
    • 発行者識別情報
    • 発行者のデジタル署名
  • デジタル証明書は、権威のある公平なサードパーティ組織とCAによって発行されます

4.HTTP予備知識を構成します

  • HTTPS証明書の選択
    • OV証明書のプロフェッショナルバージョンで、会社名が表示されません
    • 会社名を示すEV証明書の高度なバージョン
  • HTTPS証明書の購入オプション
    • 1つのドメイン名を保護するwww
    • 5つのドメイン名を保護するwwwimages cdn test m
    • ワイルドカードドメイン名* .oldboy.com
  • HTTPSに関する考慮事項
    • HTTPSは第3レベルのドメイン名解決をサポートしていません
    • Httpsは更新をサポートしており、証明書の有効期限が切れているため、交換のために再適用する必要があります
    • Httpsは緑色です。これは、このWebサイトのURLがすべてhttpsであることを意味します。
    • 膨らんだウェブサイトコードにhttpの安全でない接続が含まれているため、Httpsは黄色です
    • HTTPSが赤、証明書が偽物または期限切れ

HTTPS証明書アプリケーション

1.キー生成プロセス

  • キーを生成する
  • 証明書署名要求ファイル(csrファイル)を生成します
  • 証明書署名ファイル(CAファイル)の生成

2.現在の環境

// opensslは1.0.2である必要があります


[root@web02 bbb]# openssl version
OpenSSL 1.0.2k-fips  26 Jan 2017

// nginxにはsslモジュールが必要です


[root@web02 bbb]# nginx -V

--with-http_ssl_module

[root@web02 bbb]# mkdir /etc/nginx/ssl_key -p
[root@web02 bbb]# cd /etc/nginx/ssl_key/

[root@web02 ssl_key]# openssl genrsa -idea -out server.key 2048
Enter pass phrase for server.key: 输入密码
Verifying - Enter pass phrase for server.key: 确认密码
[root@web02 ssl_key]# ll
总用量 4
-rw-r--r-- 1 root root 1747 2月  16 17:03 server.key

3.自己署名証明書を生成し、同時に秘密鍵のパスワードを削除します


[root@web02 ssl_key]# openssl req -days 46500 -x509 -sha256 -nodes -newkey rsa:2048 -keyout server.key -out server.crt

Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:BJ
Locality Name (eg, city) [Default City]:CP
Organization Name (eg, company) [Default Company Ltd]:CN
Organizational Unit Name (eg, section) []:EU^H^H
Common Name (eg, your name or your server's hostname) []:oldboy.com
Email Address []:[email protected]
[root@web02 ssl_key]# ll

HTTPS構成シナリオ

1.HTTPS構成構文

構文:ssl on | オフ;

デフォルト:sslオフ;

コンテキスト:http、サーバー


構文:ssl_certificateファイル;

デフォルト:-

コンテキスト:http、サーバー


構文:ssl_certificate_keyファイル;

デフォルト:-

コンテキスト:http、サーバー

2.構成サポートNginxサポートhttpsインスタンス

[root@web02 conf.d]# cat ssl.conf 
server {
    
    
	listen 80;
	server_name www.https1.com;
	location / {
    
    
		rewrite .* https://$server_name;
	}
}
server {
    
    
	listen  443;
	server_name www.https1.com;
	ssl on;
	ssl_certificate ssl_key/server.crt;
	ssl_certificate_key ssl_key/server.key;

	location / {
    
    
		root /html/https;
		index index.html;
	}
	
}
[root@web02 conf.d]# mkdir /html/https
[root@web02 conf.d]# echo "https hellow " > /html/https/index.htm

3.テスト訪問、

証明書は第三者機関によって発行されたものではなく、私たち自身によって発行されたものであるため、ブラウザは警告を発します
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_43357497/article/details/113764225