现在已经有很多的免费ssl证书提供商,国内的也有,

不过国内政策要求还要把key给他们,

我们还是用Let’s Encrypt吧。

这里有官方中文文档 ->biubiubiu

官方推荐的是使用Certbot ACME 客户端

但是这里用的是acme.sh

acme.sh是个开源的shell脚本,要更为轻量,对于我的破烂vps还是选择轻量点的吧。

Acme.sh也有中文的简单教程,很详细:-(´▽`)-

关于acme.sh

Acme.sh会在每天 0:00 点自动检测所有的证书,需要更新时会自动更新

acme所有东西都在~/.acme.sh/下面,不会对外造成影响

安装acme.sh

curl  https://get.acme.sh | sh

可以设置别名,不然命令太长了alias acme.sh=~/.acme.sh/acme.sh

生成证书

可以自己设置

acme.sh  --issue  -d mydomain.com -d www.mydomain.com  --webroot /home/wwwroot/mydomain.com/

nginx/apache可以自动获取域名

acme.sh --issue  -d mydomain.com   --apache
acme.sh --issue -d mydomain.com --nginx

使用nginx模式在安装过程中遇到错误

[Mon Mar  2 15:42:33 UTC 2020] Can not find conf file for domain seyana.life
[Mon Mar 2 15:42:33 UTC 2020] Please add '--debug' or '--log' to check more details.

这是因为在nginx中,我配置server_name 为localhost

server_name localhost

acme.h是根据这个获取域名的,所以会出错,需要为绑定的域名

设置好后重新运行就成功了。

安装证书

用提供的命令可以一次把证书和key复制到指定目录

acme.sh --installcert -d www.xxxxx.come \
--key-file /root/ssl/key/key.pem \
--fullchain-file /root/ssl/cert/cert.pem \
--reloadcmd "service nginx force-reload"

不建议把证书留在~/.acme.sh/中,

关于配置,不提供自动配置,需要自己配置

下面是nginx的443配置例子

server {
listen 443 ssl;
server_name www.xxx.com xxx.com;#域名
ssl_certificate /root/ssl/cert/cert.pem;#证书路径
ssl_certificate_key /root/ssl/key/key.pem;#key路径
      #...
      }

之后可以用301永久重定向把http 的80端口也转发到443上

rewrite  ^/(.*)$ https://www.****.com/$1 permanent;

这样即使用http访问也会跳转到https上,当然这样的转换方式仍然存在风险,可以开启HSTS固定访问https等措施,具体还是留到https优化里把。

小锁锁get√

其他acme.h2命令

acme.sh --upgrade   #更新
acme.sh --upgrade --auto-upgrade #开启自动更新
acme.sh --upgrade --auto-upgrade 0 #关闭自动更新

更多更高级的用法在wiki上 wwwww

我的博客: https://www.seyana.life/post/15

Let’s Encrypt https证书安装的更多相关文章

  1. https证书安装无效的主要原因

    https证书的作用是为了确认服务端身份,但网络上充满了无效的证书,浏览器对使用无效证书的访问,给出危险.不安全警告,将是否选择继续访问由用户选择,而大多数用户是无法区分这是配置还是真的存在安全问题. ...

  2. 【Charles】使用教程+破解+Windows版本https乱码+https证书安装注意

    一.使用教程参考: 这一篇就够了,其他都是大同小异.Windows版和MAC版使用没太多区别. Charles 从入门到精通 | 唐巧的博客 https://blog.devtang.com/2015 ...

  3. centos7.2 源码编译安装php7.2.4 apache2.4.37 https证书安装

    一.php7.2.11源码安装 1.下载php7.2.11 wget http://cn2.php.net/downloads.php/php-7.2.11.tar.gz#### 2.安装依赖 yum ...

  4. mac burp suite https证书安装

    1. 下载burp suite 2.安装,设置并代理上 3. 打开http://burp并且下载证书 4. 点击打开选择始终信任并且导出桌面 5. 火狐打开设置至证书一栏[证书机构]导入切信任 6.大 ...

  5. 使用 certbot 申请泛域名https证书

    使用 certbot 申请泛域名https证书 Intro Certbot 是一个基于 Let's Encrypt 的自动化申请证书的工具,支持的系统和web server也很多,详见 Certbot ...

  6. Let's Encrypt 免费通配 https 签名证书 安装方法2 ,安卓签名无法认证!

    Let's Encrypt 免费通配 https 签名证书 安装方法 按照上文 配置完毕后你会发现 在pc浏览器中正常访问,在手机浏览器中无法认证 你只需要安装一个或多个中级证书 1.查看Nginx ...

  7. 生成线上用https证书,支持通配符和多域名,初学Let’s Encrypt用于IIS,纯本地手动

    自简书发布的上篇<生成本地测试用https证书,支持通配符和多域名,初学OpenSSL>以来,本地测试用https用的妥妥的. 线上一直用的腾讯云的免费证书(每个域名都要一个证书(滑稽), ...

  8. Nginx安装及配置免费HTTPS证书

    第一步:安装Nginx 安装Nginx 第二步:安装HTTPS证书( Let's Encrypt) 安装HTTPS证书 第三步骤:浏览器验证 Chrome浏览器打开开发者工具->Security ...

  9. WDCP V3.2面板安装且新增PHP多版本和免费Let's Encrypt SSL证书

    文章原文:http://www.itbulu.com/wdcp-v32.html 我们很多网友对于WDCP面板应该算是比较熟悉的,老蒋在博客中也多次分享WDCP面板的相关教程内容,因为在平时帮助网友解 ...

随机推荐

  1. Office customUI中如何动态更新控件标题和图标?

    本例,在Excel右键菜单中创建一个按钮,按钮的标题使用getLabel动态获取,图标使用getImage动态获取. customUI XML代码: <customUI xmlns=" ...

  2. Ubuntu navicat 连接mysql:access denied for user 'root'@'localhost'

    真是醉了,Ubuntu装了navicat后,准备在桌面建立图标不成,结果直接打开后连接mysql都不行,真坑,奈何远程连接就成,这就尬了,今天终于解决了 问题 我也百度了好几个方案,奈何解决不了,最后 ...

  3. python三目运算和递归的小练习

    应用前: ''' 递归的简单实现,输出i = 5的时候的结果 ''' def diGui(i = 0): i = i +1 if i >=5: return ("{0}大于等于5&qu ...

  4. Python与用户相交互

    今日所得 Python中注释的重要性 Python与用户相交互: 1.输入 2.输出 3.格式化输出 Python的基本数据类型:int,float,str,list,dict,bool 运算符 1. ...

  5. Qt .pro文件详解

    在我们创建Qt工程项目时,Qt Creator总会创建一个.pro文件,我们称.pro文件为Qt的工程管理文件.一个工程项目可以包含一个或多个.pro文件.理解和掌握pro文件的用法,将有利于Qt开发 ...

  6. scala语言yield配合for的用法实例

    yield配合for的用法 话不多说见实例 package com.donews.reynold /** * Created by reynold on 2017/3/23. */ object Sc ...

  7. JVM 的内存布局

    这是jdk7以后的版本 1. Heap(堆区) Heap OOM 障最主要的发源地, 它存储着几乎所有的实例对象, 堆由垃圾收集器自动回收, 堆区由各子线程共享使用.通常情况下 它占用的空间是所有内存 ...

  8. MOOC(7)- case依赖、读取json配置文件进行多个接口请求-执行测试用例(16)

    执行测试用例 # -*- coding: utf-8 -*- # @Time : 2020/2/12 22:56 # @File : run_test_16.py # @Author: Hero Li ...

  9. MOOC(7)- case依赖、读取json配置文件进行多个接口请求-学习mock(7)

    学习mock # learn_mock_7.py # 单元测试结合mock思路 import unittest from mock import mock from day_20200208_mooc ...

  10. SHELL用法六(Find语句)

    1.SHELL编程Find语句案例实战 1)SHELL编程四剑客工具:Find.Grep.Sed.Awk,通过四剑客可以完成常规Linux指令无法完成或者比较复杂的功能,学好SHELL编程四剑客有助于 ...