美文网首页
配置Nginx实现https协议,支持ATS

配置Nginx实现https协议,支持ATS

作者: dadage456 | 来源:发表于2020-07-05 15:40 被阅读0次

    前言


    在CentOS版本的Linux系统下使用 yum install -y nginx直接安装。

    执行nginx -V命令,查看nginx版本。

    nginx版本:1.16.1, OpenSSL: 1.0.2k

    不能通过ATS检测SSL Server Test评分【F】也很低。所以需要手动安装最新版本。

    环境


    安装环境:CentOS 7

    安装openssl版本:1.1.1g

    安装Nginx版本:1.18.0

    SSL证书申请机构:Let’s Encrypt ,支持苹果ATS标准

    SSL申请工具:acme.shSSL For Free在线生成

    SSL 测试: SSL Server Test

    配置步骤


    安装新版本Openssl

    访问Openssl官网,查看是否有最新版本:https://www.openssl.org/source

    # !bin/bash
    
    // 1、获取安装包
    wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz
    
    // 2、解压安装包,并进入目录
    tar -zxvf openssl-1.1.1g.tar.gz
    cd openssl-1.1.1g
    
    // 3、安装依赖程序
    yum install zlib
    
    // 4、编译安装
    ./config --prefix=/usr/local/openssl shared zlib --enable-tlsext
    make depend 
    make && make install
    
    // 5、配置使用新版本
    ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
    ln -s /usr/local/openssl/include/openssl /usr/include/openssl
    
    // 6、更新动态链接库
    echo "/usr/local/lib64" >> /etc/ld.so.conf
    
    // 7、重新加载动态链接库
    ldconfig -v
    
    // 8、查看版本
    openssl version
    
    

    安装Nginx, 支持TLS1.2+

    安装Nginx时候指定编译下载的openssl的安装包路径。 --with-openssl=/root/downloads/openssl-1.1.1g

    该下载的openssl支持TLS1.2+,最新版本是肯定支持的。

    官网查看最新版本:http://nginx.org/en/download.html

    # !bin/bash
    
    // 1、获取并解压安装包
    wget http://nginx.org/download/nginx-1.18.0.tar.gz
    tar -zxvf nginx-1.18.0.tar.gz
    cd nginx-1.18.0
    
    // 2、配置并安装
    ./configure --prefix=/usr/local/nginx \
        --with-http_ssl_module \
        --with-http_v2_module \
        --with-openssl=/root/downloads/openssl-1.1.1g
    
    make && make install
    
    // 3、配置使用新版本
    ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
    
    //查看信息
    nginx -V
    
    //启动nginx服务
    nginx
    

    使用acme.sh申请SSL证书,并安装到nginx或其他服务

    注意点:

    • 使用acme.sh之前,先安装支持TLSv1.2的Openssl工具(最新版本就可以)。
      • 使用不支持TLSv1.2的Openssl工具申请的证书,在SSL Server Test测试不支持TLSv1.2。
    • 申请的域名使用*.aa.com,一个证书配置所有的二级域名上。
    # !bin/bash
    acme.sh  --issue  --dns dns_dp   -d *.aa.com  
    

    修改nginx.conf文件

    server {
        listen       443 ssl;
        server_name  test.codepower.top;
    
        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;
        
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
    
        location / {
            root   html;
            index  index.html index.htm;
        }
    }
    

    注意:

    以上配置后,浏览器提示不安全连接。检查网页中的图片、css、js是不是使用http请求方式。

    相关文章

      网友评论

          本文标题:配置Nginx实现https协议,支持ATS

          本文链接:https://www.haomeiwen.com/subject/ccuvqktx.html