• nginx配置ssl安全证书


    0.先天条件配置完之后一定要重启nginx

    1.申请免费的证书

      阿里巴巴,腾讯,便宜SSL..等等

    2.完成一系列操作之后得到证书文件(这里只要Nginx中的证书)

      

    3.将这两个文件放置到服务器中

      可以使用FTP方便简单上传

      

    4.配置nginx的配置文件

      

      在文件中添加一个server{}:配置如下

      

    server {
      listen  443 ssl;
      server_name hello.cn; #你的域名(注意要和SSL证书申请的域名一致)
      ssl_certificate  /www/ssl/server.crt; #证书文件目录
      ssl_certificate_key /www/ssl/server.key;#证书文件目录
      ssl_session_cache shared:SSL:1m;
      ssl_session_timeout 5m;
      ssl_ciphers HIGH:!aNULL:!MD5;
      ssl_prefer_server_ciphers on;
      location / {
       root /www/wwwroot/website/;#所要指向的网站目录
       index index.html index.htm;
      }
    }

      

     5.全局配置(所有的二级域名):前提你的ssl证书需支持

      1)nginx.conf

    server {
      listen  443 ssl;
      server_name localhost;
    
      ssl_certificate  /www/ssl/server.crt;
      ssl_certificate_key /www/ssl/server.key;
    
      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;
    }

      2)网站的.conf

      只需要在server里边加上  listen  443即可

    server
    {
        listen 80;
        listen 443;
        server_name www.website.cn;
        index index.php index.html index.htm default.php default.htm default.html;
        #强制转换为https_START
        if ($server_port !~ 443){
            rewrite ^(/.*)$ https://$host$1 permanent;
        }
        #强制转换为https_END
        root /www/wwwroot/website/;
    }

     6.不同网站配置不同ssl证书

      这里的fullchain.pem和privkey.key两个文件就是对应的证书文件内容(放置的目录根据你常规放置的ssl证书目录来)

      privkey.pem这个文件代表的就是你ssl证书的密钥(有的可能是.key文件,指向这个文件就行)

      fullchain.pem这个文件代表的就是你ssl证书的公钥(有的可能是.crt文件,指向这个文件就行)

    server
    {
        listen 80;
        listen 443 ssl http2;
        server_name api.website.cn;
        index index.php index.html index.htm default.php default.htm default.html;
        root /www/wwwroot/spring;
    return 301 https://$server_name$request_uri;#强制https访问
    # rewrite ^/(.*) https://ssl.lanbing.org/$1 permanent; #关键代码仔细比较两者的跳转的区别
        #SSL-START SSL相关配置,
        #error_page 404/404.html;
        ssl_certificate    /www/server/panel/vhost/cert/api.website.cn/fullchain.pem;
        ssl_certificate_key    /www/server/panel/vhost/cert/api.website.cn/privkey.pem;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;
        ssl_session_cache shared:SSL:10m;
        ssl_session_timeout 10m;
        error_page 497  https://$host$request_uri;
    
        #SSL-END
        
        
        #禁止访问的文件或目录
        location ~ ^/(.user.ini|.htaccess|.git|.svn|.project|LICENSE|README.md)
        {
            return 404;
        }
        
        #一键申请SSL证书验证目录相关设置
        location ~ .well-known{
            allow all;
        }
        
        location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
            error_log off;
            access_log /dev/null;
        }
        
        location ~ .*.(js|css)?$
        {
            expires      12h;
            error_log off;
            access_log /dev/null; 
        }
        # 这里非常重要
        location /{
            proxy_pass "http://localhost:8081"; #代理ip的服务(二者选一)
            #proxy_set_header Host api.website.cn; #代理的域名(二者选一)
            proxy_set_header X-Forwarded-For $remote_addr;
        }
        access_log  /www/wwwlogs/api.website.cn.log;
        error_log  /www/wwwlogs/api.website.cn.error.log;
    }
    

      

  • 相关阅读:
    烂泥:KVM虚拟机windows系统增加硬盘
    烂泥:KVM虚拟机克隆
    烂泥:KVM快照的创建与恢复
    烂泥:【解决】word复制windows live writer没有图片
    烂泥:ubuntu中使用virt-manager图形化新建虚拟机
    烂泥:ubuntu安装KVM虚拟机管理virt-manager
    烂泥:【解决】ubuntu使用远程NFS报错
    烂泥:kvm安装windows系统蓝屏
    烂泥:ubuntu安装vmtools
    烂泥: KVM虚拟机Linux系统增加硬盘
  • 原文地址:https://www.cnblogs.com/zhizou/p/10971833.html
Copyright © 2020-2023  润新知