nginx配置ssl证书

nginx配置使用ssl证书

1,配置启用ssl


#ssl on:启用ssl


#ssl_certificate        https证书文件


#ssl_certificate_key  证书申请者的私钥文件

ssl on;

ssl_certificate /data/certs/ssl2019/ssl.crt;

ssl_certificate_key /data/certs/ssl2019/ssl.key;

注意:证书文件的安全非常重要,


 不要放到网站虚拟主机的root目录下,


 避免被暴露到公网上


2,ssl的优化:


#ssl_session_cache:配置共享会话缓存大小


#ssl_session_timeout:配置会话超时时间


配置例子:

ssl_session_cache   shared:SSL:10m;

ssl_session_timeout 10m;

ssl的session的作用:


每次新的TLS连续都需要握手(因为创建共享的加密密钥),在TCP三次握手之上还需要多两个来回,


重用一个Session,可以减少一个来回,减少cpu的计算量


ssl_session_cache的默认值是none


它的取值包括:


1,off:不使用session缓存: nginx告诉客户端session可能不会被重用

2,none:不使用session缓存:nginx告诉客户端session可能会被重用,

                       但并不会把session存储在缓存中

3,builtin:缓存只供一个工作进程使用

4,shared: 所有工作进程之间共享缓存

说明:ssl 的session cache大小:1M字节可以存储大约4000个session,


          可以根据自己网站的并发情况计算一个合适的数字


说明:建议把session的配置放到http段而不是server段,共享可以提升性能


五,强制浏览器跳转https协议访问

当用户访问到http网站时,直接rewrite到https站即可


server {

        listen       80;

        server_name dev.lhdtest.com;

        rewrite ^(.*) https://$server_name$1 permanent;

    } 

六,查看nginx版本

[root@centos8 ~]# /usr/local/soft/nginx-1.18.0/sbin/nginx -v

nginx version: nginx/1.18.0

ssl on;

ssl_session_cache shared:TRADING:150m;

ssl_session_timeout 10m;

ssl_protocols TLSv1.2 TLSv1.1;

ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE;

ssl_session_cache builtin:1000 shared:SSL:10m;

ssl_prefer_server_ciphers   on;

ssl_certificate_key ssl/ecshopx/ecshopx.key;

ssl_certificate ssl/ecshopx/ecshopx.crt;


server {

    listen 80;

    server_name ecshopx2.shopex123.com;

    rewrite ^(.*)$ https://$host$1 permanent;

    root  /data/httpd/ecshopx2/espier-shop/app/dist/;

}



server

{

    listen 443 ssl;

#    listen 80;

    include ecshopx2.shopex123.com-ssl.conf;

    server_name  ecshopx2.shopex123.com;


    location  /pc/_nuxt/ {    ##6,解决.css .js文件所在目录

        alias /data/httpd/ecshopx2/ecshopx-newpc/.nuxt/dist/client/;

    }


    location /pc{

        proxy_set_header        Host $host;

        proxy_set_header        X-Real-IP $remote_addr;

        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;

        client_max_body_size    32m;

        client_body_buffer_size 256k;

        proxy_pass http://localhost:3333;

    }

有话要说