https免费证书申请 、 nginx / docker 安装部署证书

官网

https://freessl.cn/

证书普及

https://blog.freessl.cn/ssl-cert-format-introduce/

证书申请& 配置教程

https://blog.freessl.cn/acme-quick-start/

什么是https协议?

https协议是由SSL+http协议构建的安全协议,支持加密传输和身份认证, 安全性比http要更好,因为数据的加密传输,更能保证数据的安全性和完整性。

nginx配置ssl证书

server {
    listen 80;
    #填写绑定证书的域名 且注意 不要在server_name 后面加http 或者https 会影响多站点配置端口冲突的问题
    server_name www.xxxxx.com;
    #把http的域名请求转成https,相当于用户访问http也可以自动跳转到https,避免出现网页提示不安全  
    #用地址重写规则 rewrite ^(.*)$ https://${server_name}$1 permanent;
    return 301 https://$host$request_uri;
}

server {
    # 配置监听443 端口
    listen  443 ssl;
    #证书配置开始=================================================
    #证书文件名称
    ssl_certificate_key /etc/nginx/ssl/xxxx.key;
    #私钥文件名称 .crt和.pem都可以用
    ssl_certificate /etc/nginx/ssl/fullchain.cer;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;
    #证书配置结束=================================================
    
    server_name www.xxxxx.com;
     

    location /api/ {
        #rewrite  ^/api/(.*)$ /$1 break;
        proxy_pass http://127.0.0.1:9330/;
        proxy_set_header   X-Forwarded-Proto $scheme;
        proxy_set_header   X-Real-IP         $remote_addr;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        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 100m;
        client_body_buffer_size 128k;
        proxy_connect_timeout   300;
        proxy_send_timeout      300;
        proxy_read_timeout      300;
        proxy_buffer_size       4k;
        proxy_buffers           4 32k;
        proxy_busy_buffers_size 64k;
        proxy_temp_file_write_size 64k;
    }

    location ^~ /fmsf {
        root /home/xxxx/xxx/xxxx;
        proxy_set_header Host $host;
        expires 30d;
        access_log off;
    }

    location / {
        root   /home/xxxx/xxx/xxxx;
        try_files $uri $uri/ /index.html;
        index  index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
     
}

docker容器配置ssl证书

# 1.基于docker-compose 部署容器 nginx,docker-compose.yml配置如下:

version: '3'
services:
  nginx:
    image: nginx:latest          #镜像名称
    container_name: nginx        #设置容器名称
    restart: always              #跟随docker的启动而启动
    network_mode: host           #网络端口模式为主机 设置这个以后 不能再设置端口,类似docker --net: host
    volumes:                     #挂载卷命令
      - /mnt/data/docker-mount/nginx/conf/nginx.conf:/etc/nginx/nginx.conf                #映射配置文件入口文件
      - /mnt/data/docker-mount/nginx/html:/usr/share/nginx/html                           #nginx静态资源根目录挂载         
      - /mnt/data/docker-mount/nginx/logs:/var/log/nginx                                  #日志文件挂载        
      - /mnt/data/docker-mount/nginx/conf.d:/etc/nginx/conf.d                             #映射配置文件
      - /mnt/data/docker-mount/nginx/ssl:/etc/nginx/ssl                                   #挂载证书配置目录  
      - /home/xxx/web:/home/xxxx/web                                                   #自定义扩展静态资源目录挂载
      - /home/xxx/static:/home/xxx/static                                             #自定义扩展静态资源目录挂载
    #ports:                       #宿主主机端口80 映射到 容器端口80
    # - 80:80   

# 2.配置文件跟nginx配置的文件一样,这里区别一下路径

#如果在linux中直接安装nginx,是可以直接写全路径的
# 私钥文件名称 .crt/.pem/.cer都可以用
# 证书key .pem/.key都可以用
# 证书挂载到docker中的路径
ssl_certificate /etc/nginx/ssl/fullchain.cer;
ssl_certificate_key /etc/nginx/ssl/xxxx.key;

# 3.重要说明

1)、/mnt/data/docker-mount/nginx/ssl:/etc/nginx/ssl  宿主主机目录挂载 -> nginx容器的目录

2)、这两个目录都必须授予权限 

    chown -R /mnt/data/docker-mount/nginx/ssl
    chown -R /etc/nginx/ssl

3)、挂载后,一定要重启docker-compose 而不是单单的重启 nginx容器,否则会挂载失败
    
    # 停止服务容器。
    docker-compose stop 
    # 后台启动
    docker-compose up -d
    # 关于docker-compose 命令讲解可以参考这篇
    https://github.com/tuonioooo/docker/blob/master/docker-compose/docker-compose%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4.md

其他域名证书的申请

腾讯云申请SSL

申请SSL证书指南

https://cloud.tencent.com/document/product/400/43473

免费SSL证书申请

https://cloud.tencent.com/document/product/400/89868

阿里云申请SSL

免费SSL证书申请

https://help.aliyun.com/zh/ssl-certificate/user-guide/overview-of-free-certificates?spm=a2c4g.11186623.0.0.7ea44c52K3DWvg

申请SSL证书指南

https://help.aliyun.com/zh/ssl-certificate/user-guide/user-guide-for-ssl-certificates/?spm=a2c4g.11186623.0.0.53631b6d9ZwpEY

最后

所有注册的免费域名证书基本上都是一年时间,过期后需要自动续期,

免费证书与付费证书的基本区别

对比项免费证书付费证书
安全等级一般
证书运行环境的兼容性一般
CA中心对证书的安全保险赔付不支持支持
证书服务周期仅支持1年(即证书的有效期是1年,过期后必须重新申请和安装证书,运维管理成本高)提供托管服务(在证书即将过期时,自动提交新证书的申请),支持最长3年的服务周期
通过续费补齐旧证书的剩余有效期不支持支持(Digicert DV通配符证书除外)
证书数量限制每个自然年可免费申请20张,需要更多证书时可付费购买不限制
支持保护的网站域名类型仅支持保护一个单域名支持保护单域名、通配符域名、多域名
支持绑定IP地址不支持GlobalSign品牌的OV单域名证书支持
支持的证书类型仅DVDV、OV、EV
人工客服支持不支持支持
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值