linux-免费ssl证书

news2025/2/28 5:19:33

title: linux-免费ssl证书
categories: Linux
tags: [linux, xshell]
date: 2022-09-10 19:29:55
comments: false
mathjax: true
toc: true

linux-免费ssl证书


前篇

  • 33种免费获取SSL证书的方式 - https://zhuanlan.zhihu.com/p/174755007

HTTPS 证书文件格式转换

  • HTTPS证书文件格式转换 - https://ohttps.com/docs/certformat

Let’s Encrypt颁发的HTTPS证书一般包括以下几个文件:

  • cert.key(PEM格式):私钥文件
  • cert.cer(PEM格式):证书文件
  • fullchain.cer(PEM格式):包含证书和中间证书

自动更新脚本

  • 官方: https://github.com/acmesh-official/acme.sh
  • 一个脚本就把系统升级到 https了,还永久免费 - https://segmentfault.com/a/1190000038367115

以使用 阿里云 域名为例

  1. 下载自动更新脚本: curl https://get.acme.sh | sh -s email=my@example.com

    $ curl https://get.acme.sh | sh -s email=my@example.com
    
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100   937    0   937    0     0   1741      0 --:--:-- --:--:-- --:--:--  1738
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100  212k  100  212k    0     0   231k      0 --:--:-- --:--:-- --:--:--  231k
    [Wed Sep 14 02:32:00 UTC 2022] Installing from online archive.
    [Wed Sep 14 02:32:00 UTC 2022] Downloading https://github.com/acmesh-official/acme.sh/archive/master.tar.gz
    [Wed Sep 14 02:32:02 UTC 2022] Extracting master.tar.gz
    [Wed Sep 14 02:32:02 UTC 2022] It is recommended to install socat first.
    [Wed Sep 14 02:32:02 UTC 2022] We use socat for standalone server if you use standalone mode.
    [Wed Sep 14 02:32:02 UTC 2022] If you don't use standalone mode, just ignore this warning.
    [Wed Sep 14 02:32:02 UTC 2022] Installing to /root/.acme.sh
    [Wed Sep 14 02:32:02 UTC 2022] Installed to /root/.acme.sh/acme.sh
    [Wed Sep 14 02:32:02 UTC 2022] Installing alias to '/root/.bashrc'
    [Wed Sep 14 02:32:02 UTC 2022] OK, Close and reopen your terminal to start using acme.sh
    [Wed Sep 14 02:32:02 UTC 2022] Installing cron job
    no crontab for root
    no crontab for root
    [Wed Sep 14 02:32:02 UTC 2022] Good, bash is found, so change the shebang to use bash as preferred.
    [Wed Sep 14 02:32:03 UTC 2022] OK
    [Wed Sep 14 02:32:03 UTC 2022] Install success!
    
    • 这里为啥要指定一个邮箱呢?
      • 因为默认使用的 ZeroSSL, 就需要指定邮箱. 参考: https://www.xuchao.org/technology/acme-sh_is_using_zerossl_as_default_ca.html
  2. 创建一个脚本执行: vim a_start.sh

    export Ali_Key="123123123"
    export Ali_Secret="456456456"
    ./acme.sh --issue --force --dns dns_ali -d *.aaa.com
    
    • Ali_KeyAli_Secret 是阿里云的秘钥
    • --dns dns_ali 指的是使用 dnsapi/dns_ali.sh 脚本
    • -d *.aaa.com 是泛域名, 也多个可以 -d 单域名
  3. 执行 a_start.sh

    $ ./a_start.sh
    
    [Wed Sep 14 06:20:17 UTC 2022] Using CA: https://acme.zerossl.com/v2/DV90
    [Wed Sep 14 06:20:17 UTC 2022] Creating domain key
    ...
    [Wed Sep 14 06:21:31 UTC 2022] Success
    ...
    [Wed Sep 14 06:22:22 UTC 2022] Cert success.
    -----BEGIN CERTIFICATE-----
    MIIGZjCCBE6gAwIBAgIRAPhQkXL9/u0f49Oj25dsgTUwDQYJKoZIhvcNAQEMBQAw
    SzELMAkGA1UEBhMCQVQxEDAOBgNVBAoTB1plcm9TU0wxKjAoBgNVBAMTIVplcm9T
    ....
    ei94GjqO39Wo5w==
    -----END CERTIFICATE-----
    [Wed Sep 14 06:22:22 UTC 2022] Your cert is in: /root/.acme.sh/*.aaa.com/*.aaa.com.cer
    [Wed Sep 14 06:22:22 UTC 2022] Your cert key is in: /root/.acme.sh/*.aaa.com/*.aaa.com.key
    [Wed Sep 14 06:22:22 UTC 2022] The intermediate CA cert is in: /root/.acme.sh/*.aaa.com/ca.cer
    [Wed Sep 14 06:22:22 UTC 2022] And the full chain certs is there: /root/.acme.sh/*.aaa.com/fullchain.cer
    
    
    
    

生成到指定路径

  • 生成前, 路径所在的目录必须先存在, 生成后可以执行命令重启 nginx

    ./acme.sh --issue --force --dns dns_ali -d *.aaa.cn \
    --key-file       /opt/nginx-cert/any.aaa.cn/any.aaa.cn.key \
    --fullchain-file       /opt/nginx-cert/any.aaa.cn/any.aaa.cn.cer \
    --reloadcmd     "service nginx force-reload"
    
    
    
    

ohttps

  • https://ohttps.com/
  1. 使用这两个文件

    image-20220913123328847

  2. 配置 nginx

    # cdn 服务
    server
    {
        listen 443 ssl;
        server_name aaa.bbb.cn;
        root /webapps/cdn; # 存放文件的目录
        location / {
          autoindex on; # 索引
          autoindex_exact_size on; # 显示文件大小
          autoindex_localtime on; # 显示文件时间
          limit_rate 0;
        }
    
        # ssl
        ssl_certificate /opt/nginx-cert/aaa.bbb.cn/fullchain.cer;
        ssl_certificate_key /opt/nginx-cert/aaa.bbb.cn/cert.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;
        access_log /var/log/nginx/aaa.bbb.cn.log;
    }
    
    
    
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/39078.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于多目标粒子群优化算法的冷热电联供型综合能源系统运行优化附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

acm退役小记

本人大学是接近一本线的二本大学,目前能打的区域赛场基本打完了,桂林rank105和沈阳rank140是有两个区域赛铜。如果我是强校的话,也会说下只能拿废物铜耻辱退役 这里简单记下我的acm生涯 其实我一直觉得对于我们这种弱校,虽然打a…

delete删除后怎么恢复文件?四种方法进行找回

演示机型:技嘉 H310M HD22.0 系统版本:Windows 10 专业版 很多小伙伴在日常工作或生活中,喜欢通过delete键进行删除文件,虽然这种删除方式快捷方便,但是也容易出现误删的情况,那么用delete键删除的文件可以…

【语音识别】高斯混合模型(GMM)说话人识别【含Matlab源码 574期】

⛄一、高斯混合模型简介 GMM基本框架 类似的还有GMM-UBM(Universal background model)算法,其与GMM的区别在于:对L类整体样本训练一个大的GMM,而不像GMM对每一类训练一个GMM模型。SVM的话MFCC作为特征,每一帧作为一个样本&#…

golang的new和make

golang 变量定义的方式 可以通过 var变量名称变量类型 进行声明变量,当我们没有给它赋值的时候,它们的结果是变量类型的零值,例如: string 的零值是"",int 的零值是0,引用类型的零值是nil。 前面两种类型…

Android加载第三方so库

本篇文章使用的android studio版本是:Android Studio Bumblebee | 2021.1.1 Patch 2 上一篇文章:Android开发java调用C简单示例 演示了java调C,那么so文件能否复用到别的项目了? 这次我们尝试用上一篇文章生成的so库,调用里面的…

APK 签名 v1 v2 步骤

APK 签名 v1 v2 步骤 需要工具 **apksigner.jar jarsinger.exe keytool.exe zipalign.exe ** 1.生成 keystore keytool -genkey -v -keystore my.keystore -alias liuhan -keyalg RSA -keysize 2048 -sigalg SHA256withRSA -dname "cnTest,ouTest,cCA" -validity …

【机器学习入门项目10例】(六):KMeans聚类

💥 项目专栏:【机器学习入门项目10例】 文章目录 一、KMeans聚类二、数据集介绍三、KMeans聚类算法介绍四、定义KMeans模型4.1 kmeans算法入口4.2 初始化簇4.3 计算DBI优化指标4.4 计算每个样本到簇中心的距离4.5 更新每个样本所属的簇分类4.6 更新每个簇的中心4.7 官方实现…

百行代码实现VLC简易视频播放器【详细环境配置过程+可执行源码注释完整】

文章目录❓什么是VLC🚀VLC 库的集成⭐VLC环境配置演示【win10系统vs2017win64】🍎VLC 库的基本使用🎂视频播放器实现⭐自定义函数Unicode2Utf8讲解🏠总结❓什么是VLC VLC 是 Video Lan Client 的缩写,原先是几个法国的…

学生HTML网页作业作品:HTML+CSS网站设计与实现【红色喜庆邀请函 3页】

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

朗道-西格尔零点猜想(the Landau-Siegel Zeros Conjecture)

1 简介 朗道-西格尔零点猜想(the Landau-Siegel Zeros Conjecture),是一个数学难题。 要理解朗道-西格尔零点猜想,首先需要理解黎曼猜想,进而需理解广义黎曼猜想,以及狄利克雷L函数。断言L函数没有异常零…

【OneDrive篇】OneDrive禁用个人保管库(网页端)

【OneDrive篇】OneDrive禁用"个人保管库"(网页端) 最近OneDrive个人保管库一直同步出错,把文件全部移出来还是一样,就选择直接禁用"个人保管库"功能了—【蘇小沐】 文章目录【OneDrive篇】OneDrive禁用"…

Windowns编译OpenSSL

前言 开发过程中需要上传数据,URL是https的,Qt默认是http网络请求,访问https需要用到SSL认证,而Qt默认不支持,需要自己编译OpenSSL库。 一、下载OpenSSL 环境:Qt 5.12.2 MSVC 2017,32bit ,可通过下面代码…

[附源码]Python计算机毕业设计高校国防教育管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

关于webpack(v5.74.0)的钩子在插件中的应用

常用监听钩子 compiler 钩子 compiler.hooks.entryOption 在 webpack 选项中的 entry 被处理过之后调用。一般用来获取入口。 compiler.hooks.compile beforeCompile 之后立即调用,但在一个新的 compilation 创建之前。这个钩子 不会 被复制到子编译器。能获取…

C++智能指针之shared_ptr

C智能指针之shared_ptr前言一、Shared_ptr1.1 shared_ptr类的操作1.2 make_shared函数1.3 shared_ptr的拷贝赋值1.4 shared_ptr的自动销毁对象内存机制1.5 使用动态生存期的资源的类1.6 shared_ptr与new结合使用1.7 不要混合使用普通/智能指针1.8 不要使用 get 初始化另一个智能…

Keras深度学习实战(38)——图像字幕生成

Keras深度学习实战(38)——图像字幕生成0. 前言1. 模型与数据集分析1.1 数据集分析1.2 模型分析2. 实现图像字幕生成模型2.1 数据集加载与预处理2.2 模型构建与训练3. 使用束搜索生成字幕3.1 束搜索原理3.2 利用束搜索改进预测结果小结系列链接0. 前言 …

Springboot——Controller层开发、请求与响应、RESTful开发规范

目录 一、入门案例(小了解,没啥用) 1.1 创建Springboot工程 1.2 导入maven坐标 1.3 controller层代码 1.4 postman测试 二、 REST常用注解 2.1 Controller 2.2 RequestMapping(请求映射路径) 2.3 Response…

Python学习基础笔记十三——函数

1、函数的定义: 函数是一段具有特定功能的、可重用的语句组。 说明:过程语言,程序员是按照顺序一行一行的编写代码,然后是顺序执行,很容易出现大量重复的代码行,那么有人就考虑将相同的代码提取出来&…

Mybatis源码解析(六):查询数据库主流程

Mybatis源码系列文章 手写源码(了解源码整体流程及重要组件) Mybatis源码解析(一):环境搭建 Mybatis源码解析(二):全局配置文件的解析 Mybatis源码解析(三):映射配置文件的解析 Mybatis源码解析(四):s…