美文网首页
Nginx 之 实现https

Nginx 之 实现https

作者: ghbsunny | 来源:发表于2017-10-29 21:51 被阅读0次

1  概述

要利用nginx软件实现https的页面,要用到ngx_http_ssl_module模块,本文将介绍该模块的几个常见用法,实现一台物理机上创建多个https站点。注意通过nginx -V查看,如果有TLS SNI support enabled,表示支持在一台主机上支持多个https主机

2  模块配置

.1、ssl

ssl  on | off;

为指定虚拟机启用HTTPS  protocol,建议用listen指令代替

.2、ssl_certificate

ssl_certificate  file;

当前虚拟主机使用PEM格式的证书文件

创建自签名的证书文件

cd /etc/pki/tls/certs/

make nginx6.crt

将生成的私钥文件解密

openssl rsa -in nginx6.key-out nginx66.key

将这两个文件复制到配置文件里指定的路径即可

在客户的上查看生成的证书信息,命令如下

openssl s_client -connect  www.e.com:443

.3、ssl_certificate_key

ssl_certificate_key  file;

当前虚拟主机上与其证书匹配的私钥文件

.4、ssl_protocols

ssl_protocols [SSLv2] [SSLv3] [TLSv1] [TLSv1.1] [TLSv1.2];

支持ssl协议版本,默认为后三个,主流版本是[TLSv1.2]

.5、ssl_session_cache

ssl_session_cache off | none | [builtin[:size]] [shared:name:size];

builtin[:size]:使用OpenSSL内建缓存,为每worker进程私有,开启多大的空间来作为缓存空间

[shared:name:size]:在各worker之间使用一个共享的缓存,这样会提高缓存的命中率,提高性能。

.6、ssl_session_timeout

ssl_session_timeout  time;

客户端连接可以复用sslsession cache中缓存的ssl参数的有效时长,默认5m

3  配置实例

创建两台虚拟https主机

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;

}

相关文章

网友评论

      本文标题:Nginx 之 实现https

      本文链接:https://www.haomeiwen.com/subject/mqdupxtx.html