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; } } # 再次重启的时候浏览器还是会报错,是因为我们自己生成的证书是没有认证机构的。要不报错就必须从认证机构哪里获得证书。