1.为什么要使用HTTPS 2.什么是HTTPS 3.TLS/SSL如何实现加密? 4.Https加密模型?(对称加密、非对称加密、CA机构)

对称加密: 使用相同的秘钥,对文件进行加密与解密。

非对称加密:一对秘钥,公钥,私钥。 公钥可以对外。 私钥不可以对外。

CA机构: 花钱 警察局(权威机构): 身份证: 1.登记信息 2.拍照 3.。。。。 4.等,返回给用户。(留存一份档案)

5.Https通讯全过程(TLS)

6.Https证书类型、购买指南、注意事项? dv:个人使用(免费 一年 ) ov:企业使用 (中型) ev:增强型证书 (银行、政府、) 建设银行、工商银行

注意:证书和身份证一样,到期重新申请,需要重新替换证书。 单域名:www.oldxu.net 多域名:blog.oldxunet edu.oldxu.net www.oldxu.net 通配符:*.oldxu.net

黑户:自行模拟充当CA机构,颁发证书:

7.如何实现单台Https、又如何实现集群Https?

0.准备存储证书的目录位置
[root@web01 ~]# mkdir -p /etc/nginx/ssl_key
[root@web01 ~]# cd /etc/nginx/ssl_key

1.申请证书:
[root@web01 ssl_key]# openssl genrsa -idea -out server.key 2048
[root@web01 ssl_key]# openssl openssl req -days 36500 -x509 -sha256 -nodes -newkey rsa:2048 -keyout server.key -out server.crt

2.配置证书:
[root@web01 ssl_key]# cat /etc/nginx/conf.d/m.oldxu.net.conf 
server {
	listen 443 ssl;
	server_name m.oldxu.net;
	ssl_protocols       TLSv1.1 TLSv1.2;
	ssl_certificate     ssl_key/server.crt;
	ssl_certificate_key ssl_key/server.key;
	root /code/m;
	
	location / {
		index index.html;
	}
}
server {
	listen 80;
	server_name m.oldxu.net;
	return 302 https://$http_host$request_uri;
}


3.浏览器测试访问:

8.如何将Https集成集群架构实现全站Https?

1.搭建http环境   负载均衡  两个节点


2.负载均衡上配置https证书

	2.1)拷贝证书
	[root@lb01 conf.d]# scp -r root@172.16.1.7:/etc/nginx/ssl_key /etc/nginx/


	2.2)改造负载均衡配置
	[root@lb01 conf.d]# vim proxy_blog.oldxu.net.conf
		upstream blog {
				server 172.16.1.7:80;
				server 172.16.1.8:80;
		}
		server {
				listen 443 ssl;
				server_name blog.oldxu.net;
				ssl_certificate ssl_key/server.crt;
				ssl_certificate_key ssl_key/server.key;

				location / {
						proxy_pass http://blog;
						include proxy_params;
				}
		}
		server {
				listen 80;
				server_name blog.oldxu.net;
				return 302 https://$http_host$request_uri;
		}

	2.3)前端负载走https,后端应用走http协议,php应用会不支持,所以需要开启一个参数,让其支持。
		# 注意:一定是在应用服务器上配置的。
		[root@web01 ssl_key]# cat /etc/nginx/conf.d/blog.oldxu.net.conf 
		server {
			listen 80;
			server_name blog.oldxu.net;
			root /code/wordpress;
			client_max_body_size 100m;

			location / {
				index index.php;
			}
			location ~ \.php$ {
				fastcgi_pass 127.0.0.1:9000;
				fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
				fastcgi_param HTTPS on;			# 让php支持负载走https,后端应用走http
				include fastcgi_params;
			}
		}

需求1: 模拟银行网站场景,用户访问网站主站 使用 http 协议提供访问,当用户点击登陆时,则网站会跳转至一个新的域名,并使用的是 Https 提供安全访问

#1.主页展示 http://yh.oldxu.net(提供网页浏览) #2.模拟登陆 http://yh.oldxu.net/login(相当于点击了登陆按钮)

10.0.0.8 [root@web02 ~]# cat /etc/nginx/conf.d/yh.oldxu.net.conf server { listen 80; server_name yh.oldxu.net; root /code;

location / {
	index index.html;
}

location /login {
	return 302 https://start.oldxu.net;
}

}

[root@web02 ~]# echo "icbc" > /code/index.html

#3.登陆页面 https://star.oldxu.net (提供安全登陆) [root@web01 ssl_key]# cat /etc/nginx/conf.d/start.oldxu.net.conf server { listen 443 ssl; server_name start.oldxu.net; ssl_certificate ssl_key/server.crt; ssl_certificate_key ssl_key/server.key; root /code;

location / {
	index index.html;
}

} [root@web02 ~]# echo "icbc-https" > /code/index.html

1.https协议; 1.1 对称加密; 1.2 非对称加密; 1.3 CA机构(身份证); 1.4 TLS加密与解密的过程;

2.https如何配置; 2.1 opessl申请证书; 2.2 配置https协议; 2.3 http协议强制跳转https

3.集群环境怎么配置https;

4.https相关 4.1 OSCP; 4.3 https优化; 4.4 如何替换证书;

#1.主页展示 http://yh.oldxu.net(提供网页浏览) #2.模拟登陆 http://yh.oldxu.net/login(相当于点击了登陆按钮) #3.登陆页面 https://star.oldxu.net (提供安全登陆)

1.准备安全的站点: [root@web02 ssl_key]# cat /etc/nginx/conf.d/star.oldxu.net.conf

server { listen 443 ssl; server_name star.oldxu.net;

ssl_certificate ssl_key/server.crt;
ssl_certificate_key ssl_key/server.key;

location / {
	index index.html;
}

}

2.准备主页站点,然后配置location,当访问login,则跳转到新的站点;

1.https基本介绍 对称加密: 非对称加密: CA机构: 2.https实现过程: 握手阶段:非对称加密算法 传输阶段:对称加密算法 3.https如何配置;

upstream s_oldxu {
	server 172.16.1.7:443;
}

server {
	listen 443 ssl http2;
	server_name _;
	
	ssl_certificate 	  key/path;
	ssl_certificate_key   key/path;

	location / {
	}
	
	location /admin {
	}
}

server {
	listen 80;
	server_name _;
	return 302 https://$server_name$request_uri;
}

https优化方式: https相关场景: 模拟银行场景; OCSP查询(真实的公网服务器+真实的域名+真实的证书);

1.LNMP架构; 2.反向代理、负载均衡; 3.动静分离、uwsgi、rewrite 4.Https

作业: 搭建wordpress、搭建phpmyadmin+redis会话 6台机器: 1.对外提供两个域名: admin、blog 2.wordpress图片是共享的; 3.phpadmin的会话是通过redis保持; 4.至少wordpress需要提供https协议;

下周内容: 1.tomcat、jvm 2.keepalived 3.LVS 3.1) NAT 3.2) DR 4.Iptables 5.DNS 6.Haproxy