美文网首页
nginx:配置SSL

nginx:配置SSL

作者: 春暖花已开 | 来源:发表于2024-01-28 19:21 被阅读0次

    一、申请

    首先去阿里云申请免费的SSL证书:搜索“数字证书管理服务”,去“/SSL 证书”里申请免费证书。申请之后半个小时就能下发,之后将证书下载下来,包含一个pem和一个key,假设名字分别为:domain.pemdomain.key

    二、配置

    1. 检验nginx有没有安装--with-http_ssl_module
    cd /usr/local/nginx
    sbin/nginx -V
    

    如果有,就跳转到第2步,如果没有就安装(我是通过源码安装的,以源码安装为例):

    --with-http_ssl_module:https协议支持,构建和运行此模块需要 OpenSSL 库

    yum install -y openssl-devel
    

    进入nginx源码,之后配置编译参数:

    ./configure --with-http_ssl_module
    

    编译和安装:

    make && make install
    
    1. 开启443端口:


    1. 上传pem和key:
    cd /usr/local/nginx && mkdir cert
    

    通过 scp 将文件上传到cert目录:

    scp domain.pem root@xxx.xx.xxx.xx:/usr/local/nginx/cert/
    scp domain.key root@xxx.xx.xxx.xx:/usr/local/nginx/cert/
    
    1. nginx配置:
    # HTTPS server
    server {
      listen       443 ssl;
      server_name  你的域名;
    
      # ssl证书地址
      ssl_certificate     ../cert/domain.pem;
      ssl_certificate_key  ../cert/domain.key;
    
      # ssl验证相关配置
      ssl_session_cache    shared:SSL:1m;
      ssl_session_timeout  5m;
    
      # 加密算法
      ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
      #安全链接可选的加密协议
      ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
      ssl_prefer_server_ciphers  on;
    
      location / {
        root   html;
        index  index.html index.htm;
      }
    }
    

    将http重定向到https:

    listen       80;
    server_name  dotts.top;
    
    # 将http转到https
    rewrite ^ https://$host$request_uri? permanent;
    
    1. 重启nginx:
    killall nginx
    nohup /usr/local/nginx/sbin/nginx &
    

    相关文章

      网友评论

          本文标题:nginx:配置SSL

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