现在已经有很多的免费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. day11-random模块-随机

    import random # 一.随机小数: print(random.random()) # 0.848972270116501结果是0-1之间的随机小数 print(random.uniform ...

  2. mysql时区问题解决方案

    #url添加参数serverTimezone=UTC 1.jdbc:mysql://127.0.0.1:3306/mymusic?useUnicode=true&characterEncodi ...

  3. LIS 问题 二分查找优化

    按n=5,a-{4,2,3,1,5}为例 dp的值依次是: INF INF INF INF INF 4     INF INF INF INF 2     INF INF INF INF 2      ...

  4. 用磁盘工具刻录MACOSX系统启动盘方法

    些系统盘用Toast 刻录后无法引导,建议使用磁盘工具刻录系统盘 老手可能早知道这了,仅供新手参考 在应用程序-->实用工具里找到磁盘工具,打开. 将DMG文件拖放到磁盘工具窗口,双击DMG文件 ...

  5. 【Linux_Shell 脚本编程学习笔记一、条件表达式】

    条件表达式返回的结果都为布尔型 真为1,假为0 条件测试的表达式 [expression] 比较符 整数比较 -eq:比较两个整数是否相等,$A -eq $B -ne:测试两个整数是否不等,不等则为真 ...

  6. Markdown 内嵌 HTML 语法

    Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式.Markdown内嵌HTML,本文总结了一些常用的HTML标记用于扩展Markdow ...

  7. [LC] 257. Binary Tree Paths

    Given a binary tree, return all root-to-leaf paths. Note: A leaf is a node with no children. Example ...

  8. ajax async异步

    async默认的设置值为true,这种情况为异步方式,就是说当ajax发送请求后,在等待server端返回的这个过程中,前台会继续执行ajax块后面的脚本,直到server端返回正确的结果才会去执行s ...

  9. Java Random函数

    Java中存在着两种Random函数: 1.java.lang.Math.Random: 调用这个Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范 ...

  10. 将Hexo网站托管到Coding.net

    只需要注册coding.net,然后建立一个名为用户名+coding.me的仓库即可,需要注意的是 coding.net的pages仓库只能有一个master分支 开始使用 Coding Pages官 ...