Nginx服务Https

随声附和 提交于 2020-02-23 15:21:42

1、https证书颁发流程:

1.运维-->申请证书
2.CA机构校验身份
3.CA颁发证书(留档) --->   颁发给 运维    ( 公钥  私钥 )
4.运维拿到证书--->部署到web站点上
5.浏览器--->通过 https 方式  请求  web服务器
6.web服务器返回  公钥  给 浏览器
7.浏览器 校验 证书的 有效性 合法性  --->  CA 机构
8.浏览器生成一个随机数  使用 服务器的公钥 加密  ---> 传输给  web服务器
9.web服务器使用配套的私钥解密
10.web服务器通过浏览器发送过来的随机数 生成一个 秘钥
11.web发送加密后的内容
12.浏览器通过随机数解密

2、dv、ov、ev

dv	#个人使用,申请免费
ov	#企业使用
ev	#企业使用, 显示友好,加密强度更大

3、保护证书个数是什么意思?

test.com
保护一个域名下面的一个子域名		    ( 个人 )
www.test.com			
保护一个域名下面的5个子域名
www.test.com
cdn.test.com
aaa.test.com
bbb.test.com
ccc.test.com
通配符test.com					( 企业 )
*.oldboyedu.com

4、生成假证书(仅供学习使用)

openssl req -nodes -newkey rsa:2048 -keyout server.key -out server.csr -subj "/C=/ST=/L=/O=/OU=/CN=test"
openssl x509 -req -sha256 -days 36500 -in server.csr -signkey server.key -out server.crt

5、简单配置

1、创建一个存放证书的目录
[root@web01 conf.d]# mkdir /etc/nginx/ssl_key
[root@web01 conf.d]# cd /etc/nginx/ssl_key/
2、创建私钥证书
openssl req -nodes -newkey rsa:2048 -keyout server.key -out server.csr -subj "/C=/ST=/L=/O=/OU=/CN=test"
openssl x509 -req -sha256 -days 36500 -in server.csr -signkey server.key -out server.crt
3、将http的请求过渡到https
[root@web01 conf.d]# cat /etc/nginx/conf.d/test.com.conf 
server {
	listen 443 ssl;
	server_name test.com;
	ssl_certificate ssl_key/server.crt;
	ssl_certificate_key ssl_key/server.key;
	charset utf8;
	root /code;

location / {
	index index.html;
}
}
server {
	listen 80;
	server_name s.oldxu.com;
	return 302 https://$http_host$request_uri;
}

6、引入负载https配置

web集群:
[root@web01 conf.d]# cat test.com.conf 
server {
	listen 80;
	server_name test.com;
	root /code;

location / {
		index index.html;
}
}

[root@web02 conf.d]# cat test.com.conf 
server {
	listen 80;
	server_name test.com;
	root /code;
	
location / {
		index index.html;
}
}

lb集群:
[root@lb01 conf.d]# cat proxy_test.com.conf 
upstream test {
	server 172.16.1.7:80;
	server 172.16.1.8:80;
}
server {
	listen 443 ssl;
	server_name test.com;
	ssl_certificate ssl_key/server.crt;
	ssl_certificate_key ssl_key/server.key;
	
location / {
	proxy_pass http://test;
}
}
server {
	listen 80;
	server_name ssl.oldxu.com;
	return 302 https://$http_host$request_uri;
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!