• 打造最强NGINX HTTPS


    SSL LABS 检测

    完整配置如下

    server {
            listen       443 ssl;
            server_name xxx.xxxke.com;
            ssl on;
            ssl_certificate      /xxx/pemcrt/vcert.pem;
            ssl_certificate_key  /xxx/pemcrt/vcert.key;
            ssl_dhparam /xxx/pemcrt/dhparam.pem;
            ssl_session_cache    shared:SSL:10m;
            ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
            ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
            ssl_prefer_server_ciphers on;
            ssl_session_timeout 10m;
            ssl_stapling on;
            ssl_stapling_verify on;
            ssl_trusted_certificate /pemcrt/ca-bundles.pem;
            resolver 8.8.8.8 8.8.4.4  valid=300s;
            resolver_timeout 10s;
            add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";
       location / {
            root   /app/nginx/www;
            index  index.html index.php;
            }
    }
    listen 监听 443 端口,加上ssl参数;
    server_name 当一个主机多个域名时很重要,可以做域名虚拟主机;
    SSL 开启ssl
    ssl_certificate 证书
    ssl_certificate_key 密钥
    sl_dhparam
    执行 openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048 生成dhparam.pem 后加入改行配置
    ssl_session_cache重用加密的会话,通过每个连接给出的唯一标识,服务器知道一个进来的连接是否已经在之前创建过,如果服务器在会话中也已经有会话key,它就能重用。Session ID需要服务器保存会话状态如会话key等,这样下次连接才能复用,这就需要服务器保存很多状态信息,耗费了大量内存Session ID共享复用在nginx可以通过ssl_session_cache设置。
    ssl_protocols 开启TLS 版本,注意不要开启 SSL2 SSL3
    ssl_ciphersNginx SSL算法,一定要禁用nginx默认的DH算法(译注:Diffie-Hellman key exchange algorithm)是影响SSL性能的最大因素。
    ssl_prefer_server_ciphers 和上述配合。
    开启 ocsp
    ssl_stapling on  ssl_stapling_verify ssl_trusted_certificate
    OCSP(Online Certificate Status Protocol)的中文翻译是在线证书状态协议,它是用来检查证书是否有效的。虽然证书一般是有效的,但也可能被撤销,这时就需要实时查询证书的状态,以确保它有效。这个查询如果让浏览器去做,就比较浪费时间,而 OCSP stapling 技术则是让服务器自己查出来,再把状态信息(无法伪造)返回给浏览器,以加快验证过程。有三层证书,分别是:
    StartCom Certification Authority
    StartCom Class 1 DV Server CA
    keakon.net
     其中,第三个证书已经提供给 nginx 了,而前两个还需要自己下载回来,合并成一个:
    cat ca.crt sca.server1.crt > ca-bundles.pem 或者直接notpad++ 操作   
  • 相关阅读:
    网络通信之 字节序转换原理与网络字节序、大端和小端模式
    [C/C++]大小端字节序转换程序
    面向对象和面向过程的区别
    编译libjpeg
    地形系统lod
    c/c++ 代码中使用sse指令集加速
    个人作品- 蘑菇大战
    个人作品- 几何战争
    Obj格式模型 读取
    各大引擎矩阵的矩阵存储方式 ----行矩阵 or 列矩阵
  • 原文地址:https://www.cnblogs.com/kamil/p/6268141.html
Copyright © 2020-2023  润新知