Nginx 配置SSL证书

# Nginx 如何添加对SSL的支持
# 需要安装 --with-http_ssl_module模块
# ssl指令:该指令用来在指定的服务器开启HTTPS,可以使用listen 443 ssl来开启
# 语法:ssl on | off;
# 默认:off
# 位置 http、server
server {
  lsten 443 ssl;
}

# ssl_certificate指令:为当前这个虚拟主机指定一个带有PEM格式证书的证书。
# 语法:ssl_ceritificate file;
# 默认:无
# 位置 http、server
ssl_ceritificate www.sohu.com.pem;

# ssl_certificate_key指令:为pem指定secret_key文件路劲。
# 语法:ssl_certificate_key file;
# 默认:无
# 位置 http、server
ssl_ceritificate www.sohu.com.key;

# ssl_session_cache指令:该指令用来配置用于SSL回话的缓存
# 语法: ssl_session_cache off | none | [builtin[:size]] [shared:name:size]
# 默认:none
# 位置 http、server
# off:禁用回话魂村,客户端不得重复使用会话
# none:禁止使用会话缓存,客户端可以重复使用,但是并没有在缓存中存储会话参数。
# builtin:内置OpenSSL缓存,仅在一个工作进程中使用
# shared:所有工作进程之间共享缓存,缓存的相关信息用name和size来指定
ssl_session_cache none;

# ssl_session_timeout:开启SSL会话功能后,设置客户端能够反复使用存储在缓存中的会话参数时间。
# 语法:ssl_session_timeout time;
# 默认:5m    //也就是5分钟
# 位置 http、server
ssl_session_timeout 5m;

# ssl_ciphers:支出允许的密码,密码指定为OpenSSL指定的密码格式。
# 语法:ssl_ciphers ciphers;
# 默认值:ssl_ciphers HIGH:!aNULL:!MD5;
# 位置 http、server
ssl_ciphers HIGH:!aNULL:!MD5;

# ssl_prefer_server_ciphers:该指令指定是否服务器密码优先客户端密码
# 语法:ssl_prefer_server_ciphers on | off
# 默认:off
# 位置 http、server
ssl_prefer_server_ciphers off

# SSL证书来源
# 1.去阿里云或者腾讯云或者其他证书机构购买或者申请SSL证书。
# 2.用OpenSSL去自己制作SSL证书
# OpenSSL生成证书的命令
mkdir /root/cert
cd /root/cert
openssl genrsa -des3 -out server.key 1024
openssl req -new -key server.key -out server.csr
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
openssl x509 -req -days 365 -in server.csr -singnkey server.key -out server.crt

# 如何配置刚生成的SSL证书
server {  
  listen 443 ssl;
  server_name localhost;
  
  ssl_certificate cert.pem;
  ssl_certificate_key cert.key;
  
  ssl_session_cache shared:SSL:1m;
  ssl_session_timeout 5m;
  
  ssl_ciphers HIGH:!aNULL:MD5;
  ssl_prefer_server_ciphers on;
  
  location / {
    root html;
    index index.html;
  }
}
# 再次重启的时候浏览器还是会报错,是因为我们自己生成的证书是没有认证机构的。要不报错就必须从认证机构哪里获得证书。

 

posted @ 2021-11-01 17:20  看一百次夜空里的深蓝  阅读(2546)  评论(0编辑  收藏  举报