实验二:实现ssl 加密
(1)一个物理服务器设置一个https 1、创建存放证书的目录mkdir /etc/nginx/ssl
2、自签名证书cd /etc/pki/tls/certs/
make nginx.crt
openssl rsa -in nginx.key -out nginx2.key 因为刚私钥被加密了,为了后边方便,解密
3、把证书和私钥cp 到nginx存放证书目录cp nginx.crt nginx2.key /etc/nginx/ssl/
cd /etc/nginx/ssl/
mv nginx2.key nginx.key 把名字改回来
4、修改配置文件,加一段serverserver {
listen 443 ssl;
server_name ;
ssl on;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;
ssl_session_cache shared:sslcache:20m;
ssl_session_timeout 10m;
}
5、测试,网页打开 https://192.168.30.7/Windows 信任证书
(2)一个物理服务器设置多个https因为nginx 强大,可以实现多个虚拟主机基于不同的FQDN 实现ssl加密,httpd不能实现
1、生成3个证书和私钥make nginx.crt
make nginx2.crt
make nginx3.crt
2、把证书和私钥cp 到nginx存放证书目录,并解开私钥的加密cp nginx{1,2,3}* /etc/nginx/ssl/
openssl rsa -in nginx.key -out nginx.key
openssl rsa -in nginx2.key -out nginx2.key
openssl rsa -in nginx3.key -out nginx3.key
3、创建各自对应的访问网页mkdir /app/website{1,2,3}
echo website1 > /app/website1/index.html
echo website1 > /app/website2/index.html
echo website1 > /app/website3/index.html
4、测试访问,成功client_body_temp_path /var/tmp/client_body 1 2 2
1 级目录占1 位16进制,即2^4=16个目录 0-f
2 级目录占2 位16 进制 ,即2^8=256个目录 00-ff
3 级目录占2 位16进制,即 即2^8=256个目录 00-ff