ngx_http_ssl_module模块

ngx_http_ssl_module模块:
ngx_http_ssl_module模块:
    ssl on | off;            为指定虚拟机启用HTTPS protocol,已淘汰,建议用listen指令代替
    ssl_certificate file;    当前虚拟主机使用PEM格式的证书文件。后缀为pem或crt
    ssl_certificate_key file;当前虚拟主机上与其证书匹配的私钥文件
    ssl_protocols [SSLv2] [SSLv3] [TLSv1] [TLSv1.1] [TLSv1.2]; 支持ssl协议版本,默认为后三个
    ssl_session_cache off | none | [builtin[:size]] [shared:name:size];
        none:                 通知客户端支持ssl session cache,但实际不支持
        builtin[:size]:      使用OpenSSL内建缓存,为每worker进程私有
        [shared:name:size]:  在各worker之间使用一个共享的缓存,需要定义给个缓存名称和缓存空间大小,一兆可以存储4000个会话信息,多个虚拟主机可以使用相同的缓存名称。
    ssl_session_timeout time;  客户端连接可以复用ssl session cache中缓存的有效时长,默认5m

示例: 80和443一起使用的三种方法:
1.两个listen写在一个server内。2.分开两个server但root相同。3.rewrite跳转。

server {
  listen 80;
  listen 443 ssl;
  server_name ssl.zjol.com.cn;
  ssl_certificate /usr/local/nginx/ssl/zjol2022.pem;
  ssl_certificate_key /usr/local/nginx/ssl/zjol2022.key;
  ssl_session_cache shared:sslcache:20m;
  ssl_session_timeout 5m;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_prefer_server_ciphers on;
  charset GB2312;

location /ssl {
  root /data/nginx/html;
  index index.html;
}}

 


创建自签名证书方法一,模拟向CA证书。

#⾃签名CA证书,
[root@s2 ~]# cd /apps/nginx/
[root@s2 nginx]# mkdir certs
[root@s2 nginx]# cd certs/
[root@s2 nginx]# openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 3650 -out ca.crt #⾃签名CA证书

Generating a 4096 bit RSA private key .................++ .....
Country Name (2 letter code) [XX]:CN #国家代码,https://country-code.cl/
State or Province Name (full name) []:BeiJing   #省份
Locality Name (eg, city) [Default City]:Beijing   #城市名称
Organization Name (eg, company) [Default Company Ltd]:magedu.Ltd   #公司名称
Organizational Unit Name (eg, section) []:magedu   #部⻔
Common Name (eg, your name or your server's hostname) []:magedu.ca   #通⽤名称
Email Address []:2973707860@qq.com   #邮箱
[root@s2 certs]# ll ca.crt -rw-r--r-- 1 root root 2118 Feb 22 12:10 ca.crt

#⾃制key和csr⽂件
[root@s2 certs]# openssl req -newkey rsa:4096 -nodes -sha256 -keyout www.magedu.net.key -out www.magedu.net.csr
Generating a 4096 bit RSA private key ........................................................................++

Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:BeiJing
Locality Name (eg, city) [Default City]:BeiJing
Organization Name (eg, company) [Default Company Ltd]:magedu.net
Organizational Unit Name (eg, section) []:magedu.net
Common Name (eg, your name or your server's hostname) []:www.magedu.net
Email Address []:2973707860@qq.com
Please enter the following 'extra' attributes to be sent with your certificate request
A challenge password []: #直接回车
An optional company name []:

[root@s2 certs]# ll
-rw-r--r-- 1 root root 2118 Feb 22 12:10 ca.crt
-rw-r--r-- 1 root root 3272 Feb 22 12:10 ca.key
-rw-r--r-- 1 root root 1760 Feb 22 12:18 www.magedu.net.csr
-rw-r--r-- 1 root root 3272 Feb 22 12:18 www.magedu.net.key

#向CA提交"信息"并签发证书
[root@s2 certs]# openssl x509 -req -days 3650 -in www.magedu.net.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out www.magedu.net.crt
Signature ok
subject=/C=CN/ST=BeiJing/L=BeiJing/O=magedu.net/OU=magedu.net/CN=www.magedu.net/emailAd dress=2973707860@qq.com
Getting CA Private Key

#验证证书内容
[root@s2 certs]# openssl x509 -in www.magedu.net.crt -noout -text
 

 

创建自签名证书方法二

1.进入证书目录 
cd /etc/pki/tls/certs/

2.创建证书文件,并生成私钥(这里要输入三次密钥和证书相关信息),参考方法一
make magedu.net.crt

3.使用openssl将私钥的密码删除,并生成新私钥。
openssl rsa -in magedu.net.key -out magedu.nets.key

4.备份和覆盖原密钥。
mv magedu.net.key magedu.net.key.bak
mv magedu.nets.key magedu.net.key
chmod 600 magedu.*

 

 

开启ssl_session_cache 的作用  https://www.sohu.com/a/469734306_121124376

posted @ 2022-07-17 14:13  yuanbangchen  阅读(432)  评论(0编辑  收藏  举报