实现虚拟主机ssl加密,注意此方法只能在公司内部使用
1,生成证书及私钥
- 进入/etc/pki/tls/certs目录
cd /etc/pki/tls/certs
- 执行make +证书名,"注意:文件后缀很重要,输入什么将生成什么文件"
make a.crt #.crt后缀,会生成一个a.crt证书文件,a.key私钥文件
"注意:这里生成私钥文件默认需要输入密码,如果不需要密码有两个办法
①,修改/etc/pki/tls/certs/Makefile文件
将%.key:
umask 77 ; /usr/bin/openssl genrsa -aes128 $(KEYLEN) > [email protected] 中的"-aes128"删掉
②,就是私钥文件生成之后输入下面的命令将密码删掉
openssl rsa -in a.key -out aa.key"
2,修改配置文件
vim /etc/nginx/nginx.conf
server {
listen 443 ssl;
root /nginx/html/;
server_name www.a.com;
index a.html;
ssl on;
ssl_certificate /etc/pki/tls/certs/a.crt;
ssl_certificate_key /etc/pki/tls/certs/a.key;
ssl_session_cache shared:sslcache:20m;
ssl_session_timeout 10m;
}
指令解析:
ssl_certificate 指定证书文件路径
ssl_certificate_key 指令私钥文件路径
ssl_session_cache off | none | [builtin[:size]] [shared:name:size];
- builtin[:size]: 使用OpenSSL内建缓存,为每worker进程私有
- [shared:name:size]: 在各worker之间使用一个共享的缓存
ssl_session_timeout time; 客户端连接可以复用ssl session cache中缓存的ssl参数的有效 时长 ,默认5m
3,启动nginx服务
①检查配置文件
nginx -t
显示下列信息表示配置文件没有问题
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
②启动服务
systemctl start nginx
systemctl enable nginx
4, 访问测试,出现面的状况就表示成功,注意https协议!
原文地址:http://blog.51cto.com/13598893/2090033
时间: 2024-11-08 19:45:45