Nginx时必须使用--with-http_ssl_module参数,启用加密模块
安装Nginx的时候默认不安装--with-http_ssl_module
本次涉及网络数据(采用非对称加密) 防止被抓包
配置文件修改完后一定要加 ; 号
加密数据分为
加密算法一般分为对称算法、非对称算法、信息摘要。
对称算法有:AES、DES,主要应用在单机数据加密。(文本文件)
非对称算法有:RSA、DSA,主要应用在网络数据加密。(公钥 私钥,抓包者抓到公钥但永远不知道私钥,理论超级计算破解20年才行)
信息摘要:MD5、sha256,主要应用在数据完整性校验、数据秒传等(密码跟类容而改变自身密码)
数据完整性校验可以用 md5sum写个脚本, 必须是目录下的文件方可备份
#! /bin/bash
for i in /mdwu/1.txt /mdwu/1.txt里是个文件,有文件内容的
do
md5sum $i | awk '{print $1}' >> bf.txt md5sum对/mdwu/1.txt加密后 ,然后打印出第一列,写入到 bf.txt
done
*** 保存在自己U盘里,文件不变码不变,隔段时间作码对比 就能知道有没有人动过我的文件!
数据秒传
比如说有8G的东西要上传百度云,那么md5会对你的文件一个校验,这个校验会跟百度云里的庞大数据库里对比数据,如果找到一模一样的数据(你的8G内容) ,就会提示你秒传成功,其实压根儿没上传东西。如果你用个其他大文件(在百度数据库里找不到的数据) 那么md5校验不到,秒传失败!!
----------------------------------------------------------------------------------------------------------------------------------------------------
1,第一部nginx -V 确认 ./configure脚本是否加入网络加密模块--with-http_ssl_module参数!!(公钥永远找不出私钥。因为非对称关系)
没有添加话在加本重新加入加密模块
2,切入nginx的配置文件
cd /usr/local/nginx/conf
3,在配置文件里命令行中执行生成私钥操作
[root@conf] openssl genrsa > cert.key (前面为加密固定格式,rsa为网络加密的一种,cert.key为自己创建的私钥匙名字,但格式为key。这里名字写成cert.key是因为以下面配置文件模版中自带的私钥格式一致,后面减少改动)
4,生成证书(公钥匙) 也在配置文件位置的命令行写
openssl req -new -x509 -key cert.key > cert.pem 我请求生成一个新的公钥为cert.pem(不用背,需要时拿来抄)
国家名称(2字母代码)[XX ]:cn
国家或省名(全名)[]
地名(如城市)[缺省城市]:深圳
组织名称(如公司)[违约公司]:
组织单位名称(如节)[]:
通用名称(例如,你的名字或你的服务器的主机名)[]:
ls cer* (可以查看生成了那些那种钥)
5,进入nginx配置文件修改ssl 设置加密网站的虚拟主机
vim /usr/local/nginx/conf/nginx.conf
拉到最后,去掉这一排注释,域名修改为要加密的域名,比如www.c.com. 其他不用管
server {
listen 443 ssl;
server_name www.c.com;
ssl_certificate cert.pem; #这里是证书文件
ssl_certificate_key cert.key; #这里是私钥文件
ssl_session_cache shared:SSL:1m; #缓存时间
ssl_session_timeout 5m; #会话超时
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
6,vim /etc/hosts域名本地解析
7,nginx -s reload 重新加载
8,测试firefox https://www.c.com (加密网站http后带s) 如果网站访问不了请killall nginx 后重启nginx