Nginx 之 实现https
1概述要利用nginx软件实现https的页面,用到ngx_http_ssl_module模块,本文将介绍该模块的几个常见用法,实现一台物理机上创建多个https站点。注意通过nginx -V查看,如果有TLS SNI support enabled,表示支持在一台主机上支持多个https主机2模块配置
.1、ssl
sslon | off;为指定虚拟机启用HTTPSprotocol,建议用listen指令代替.2、ssl_certificatessl_certificatefile;当前虚拟主机使用PEM格式的证书文件创建自签名的证书文件
1
2
cd /etc/pki/tls/certs/
make nginx6.crt
将生成的私钥文件解密
1
openssl rsa -in nginx6.key-out nginx66.key
将这两个文件复制到配置文件里指定的路径即可
在客户的上查看生成的证书信息,命令如下
1
openssl s_client -connectwww.e.com:443
.3、ssl_certificate_key
ssl_certificate_keyfile;当前虚拟主机上与其证书匹配的私钥文件.4、ssl_protocolsssl_protocols ; 支持ssl协议版本,默认为后三个,主流版本是.5、ssl_session_cache ssl_session_cache off | none | ] ;builtin[:size]:使用OpenSSL内建缓存,为每worker进程私有,开启多大的空间来作为缓存空间:在各worker之间使用一个共享的缓存,这样会提高缓存的命中率,提高性能。.6、ssl_session_timeoutssl_session_timeouttime;客户端连接可以复用sslsession cache中缓存的ssl参数的有效时长,默认5m3配置实例
创建两台虚拟https主机
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
vim/etc/nginx/conf.d/https.conf
server{
listen 443 ssl;
server_name www.e.com;
root /app/website5;
ssl_certificate /etc/nginx/ssl/nginx5.crt;
ssl_certificate_key/etc/nginx/ssl/nginx5.key;
ssl_session_cache shared:sslcache:20m;
ssl_session_timeout 10m;
}
server{
listen 443 ssl;
server_name www.f.com;
root /app/website6;
ssl_certificate /etc/nginx/ssl/nginx6.crt;
ssl_certificate_key/etc/nginx/ssl/nginx6.key;
ssl_session_cache shared:sslcache:20m;
ssl_session_timeout 10m;
}
页:
[1]