目录
一、密钥算法
常见密钥算法:
对称加密:AES、DES
非对称加密:RSA、DSA
【注】对称加密的加密和解密使用的是同一把钥匙,非对称加密的加密和解密使用的不是一把钥匙,在对网站加密时,推荐使用非对称加密,相对更安全 。
二、SSL虚拟主机
SSL加密网站的核心技术是非对称生成密钥:公钥、私钥、证书
cd /usr/local/nginx/conf/
openssl genrsa > cert.key #生成私钥
#req是申请的意思,new是新建证书,x509是证书格式,key后面指定私钥cert.key,与上面生成的私钥名保持一致,cert.pem是证书名
openssl req -new -x509 -key cert.key > cert.pem #生成证书,证书本质就是封装过后的公钥
更改nginx主配置文件:
vim /usr/local/nginx/conf/nginx.conf #进入编辑可直接跳到最后,有ssl配置模板
server {
listen 443 ssl; #开启SSL,默认端口是443
server_name web3.tedu.cn; #网站域名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;
}
}
/usr/local/nginx/sbin/nginx -s reload #重新加载配置文件
客户端访问测试:
同样,由于未配置dns,如果是windwos浏览器访问,可以先改下hosts文件,路径在C:\Windows\System32\drivers\etc\hosts
打开浏览器,可以实现https访问:
由于这边证书是自己做的,所以浏览器显示不安全,如果想去掉不安全标识,需要找专门做证书的公司,是收费的,且全球能做证书的只有几家。