一。非对称加密算法:
公钥:公共密钥,开放
私钥:私有密钥,保密
1.发送方用自己的公钥加密,接受方用发送方的私钥解密:不可行
2.发送方用接受方的公钥加密,接受方用自己的私钥解密:私密性
3.发送方用自己的私钥加密,接受方用发送方的公钥解密:身份验证,不可抵赖
4.发送方用接受方的私钥加密,接受方用自己的公钥解密:不可行
二。nginx的模块准备
1.nginx -V:查看是否由以下模块,否则需要下载,mod_ssl:yum install mod_ssl
2.配置文件:
证书文件:/...../xxx.crt(证书存放的是公钥)
私钥文件:/...../xxx.key(存放私钥)
实验一:搭建nginx+ss的加密认证wed服务器
1.setenforce 0(关闭SElinux)
2.systemctl stop firewalld(防火墙)
3.systemctl disable firewalld
4.yum install nginx mod_ssl -y
5.systemctl start nginx
6.systemctl enable nginx(开机启动)
7.mkdir -p /www/new_file(创建网站文件夹)
8.openssl genrsa -aes128 2048 > /etc/nginx/zy.key (在etc/nginx目录下制作证书所用的私钥文件zy.key,再输入密码123456)
9.openssl req -utf8 -new -key ++/etc/nginx/zy.key++ -x509 -days 365 -out /etc/nginx/zy.crt(制作证书)
需要输入:++国家代码,省份,城市,公司,部门,主机名,管理员邮箱++
注释:通过openssl制作一个证书,设置字符集,制作公钥对应的私钥,用-x509来制作,有效期限为365天,证书输出的内容以zy.crt进行保存
- cp zy.key zy.key.ory(备份私钥源文件,防止破坏原来的私钥)
11.openssl rsa -in zy.key.ory -out zy.key(在加载SSL支持的nginx并使用上述私钥时,除去必要的口令)
12.vim /etc/nginx/nginx.conf(进行配置文件:端口号,ip,网址文件,证书地址,私钥地址)
注释:++在80端口下设置return,则无论是输入http还是https协议,都会最终跳转到https的端口下进行加密打开++
13.systemctl restart nginx(重启服务)
对于https:端口,ip地址,要打开的网址,证书,密钥
对于http:端口,ip地址,return
实验二:组建多个子目录网站www.newfiles.com,该网站有2个子目录www.newfiles.com/file和www.newfiles.com/ftp:要求
file数据使用http读取
ftp数据使用https读取
1.setenforce 0(关闭SElinux)
2.systemctl stop firewalld(防火墙)
3.systemctl disable firewalld
4.yum install nginx mod_ssl -y(下载模块)
5.systemctl start nginx
6.systemctl enable nginx(开机启动)
7.mkdir -p /www/file mkdir -p /www/ftp
8.echo "file" > /www/file/index.html(file文件内写入内容)
9.echo "ftp" > /www/ftp/index.html(ftp文件内写入内容)
制作http访问过程
1.vim /etc/hosts(添加ip,进行域名映射)
2.C:\Windows\System32\drivers\etc(修改window内的内容)
3.vim /etc/nginx/nginx.con(编辑主配置文件)
注释:设置域名为www.newfiles.com,alias绝对路径网站根目录,index默认首页文件(当访问网址时候,且为file文件时候,指定指定目录,并打开此目录的内容)
4.systemctl restart nginx(重启nginx)
5.curl www.newfiles.com/file(进行测试)
制作https访问过程:
1.openssl genrsa -aes128 2048 > /etc/nginx/ftp.key(制作私钥文件)
2.openssl req -utf8 -new -key /etc/nginx/ftp.key -x509 -day 365 -out /etc/nginx/ftp.crt(制作证书)
3.cp ftp.key ftp.key.org(进行私钥的拷贝)
4.openssl rsa -in ftp.key.org -out ftp.key(去除必要口令)
5.vim /etc/nginx/nginx.conf(进行编辑著配置文件)
6.systemctl restart nginx(重启nginx)
7.进行测试: