今天服务器let'encript证书过期了,年纪大了老忘,不得不把别人的博客看一遍,就是因为我不想定时任务执行acme_tiny.py,还是写个文档记下,很久不写对外博客了,冒个泡。

1、创建普通域名私钥

openssl genrsa 4096 > domain.key

2、单个域名('xxx.xxx.com')

openssl req -new -sha256 -key domain.key -subj "/CN=域名" > domain.csr

3、域名验证

搭建一个web服务,以nginx为例,配置nginx.conf文件,并保证处于启动状态,并且外网80能访问

server {

listen 80;

server_name 域名;

location ^~ /.well-known/acme-challenge/ {

alias /tmp/ssl/;  //随便设置一个服务器上已经存在的目录

try_files $uri =404;

}

}

4、在目录/path/to获取网站证书

下载证书生成工具acme_tiny

wget https://raw.githubusercontent.com/diafygi/acme-tiny/master/acme_tiny.py

openssl创建一个私钥account.key用于acme_tiny.py 账户account-key

openssl genrsa 4096 > account.key

指定账户私钥、CSR 、验证目录

python acme_tiny.py --account-key ./account.key --csr ./domain.csr --acme-dir /tmp/ssl/> ./signed.crt

创建中间证书并和网站证书融合

wget -O - https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem > intermediate.pem

cat signed.crt intermediate.pem > chained.pem

注意中间证书跟网站证书版本一定要保证一致,不然即使,网站访问的时候虽然没有问题,但是一些严格必须遵循ssl第三方服务平台会认证不通过,比如:微信小程序

给nginx 443端口配置上我们生成的证书

server {

listen 443;

server_name 域名;

ssl on;

ssl_certificate /path/to/chained.pem;

ssl_certificate_key /path/to/domain.key;

ssl_session_timeout 5m;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA;

ssl_session_cache shared:SSL:50m;

ssl_prefer_server_ciphers on;

}

另外该证书有效期只有90天,可以把上面的命令行写成一个.sh命令用crontab跑起来

#!/usr/bin/sh
python /path/to/acme_tiny.py --account-key /path/to/account.key --csr /path/to/domain.csr --acme-dir /tmp/ssl/ > /tmp/signed.crt || exit
wget -O - https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem > intermediate.pem
cat /tmp/signed.crt intermediate.pem > /path/to/chained.pem
service nginx reload

let'encript 解决证书问题的更多相关文章

  1. Fillder安装,如何解决证书无法导出

    Q: 安装配置完Fidder之后,点击导出证书,提示Creation of the root ceritificate  was not successful A :需执行dos命名. -cy aut ...

  2. Fiddler抓取https请求,解决“证书错误”警告

    要抓取走HTTPS内容,Fiddler必须解密HTTPS流量. 但是,浏览器将会检查数字证书,并发现会话遭到窃听.为了骗过浏览 器,Fiddler通过使用另一个数字证书重新加密HTTPS流量. Fid ...

  3. java的https请求解决证书问题

    package sqr.srchSpider.utils; import java.security.SecureRandom; import java.security.cert.Certifica ...

  4. 使用非Web方式从CA申请证书

    背景介绍:关于从CA申请证书这点事,网上的那些教程基本都是让我们通过访问https://server/certsrv这样的网页来操作的,我一直希望不依赖IIS就把这事干了,于是就有了下面的文章. 1. ...

  5. mac 下终端 操作svn命令 以及出现证书错误的处理方法

    首先,转载地址:http://hi.baidu.com/zhu410289616/item/eaaf160f60eb0dc62f4c6b0e 还有一个地址:http://www.cnblogs.com ...

  6. 通配符证书导致 Outlook Anywhere 的客户端连接问题

    通配符证书导致 Outlook Anywhere 的客户端连接问题 本主题介绍当您使用 Outlook Anywhere 连接到 Microsoft Exchange 及在组织中跨 Exchange ...

  7. 删除CNNIC根证书

    操作方法: 1.点击IE工具菜单-->选项-->内容-->证书,在受信任的根证书颁发机构中找到CNNIC Root,将证书导出到桌面备用. 双击CNNIC ROOT查看这个证书的属性 ...

  8. 打开所有https网页都提示证书错误

    最近安装了网上下载的ghost系统,可是不管是win7还是xp,打开所有的https网站都提示证书错误.想想现在打击盗版系统的力度不断增加,以前做的比较好的盗版系统网站都已经不再做系统了,现在下载的g ...

  9. 关于k8s集群证书1年过期后,使用kubadm重新生成证书及kubeconfig配置文件的变化

    这个证书很重要,不用说. 但手工生成证书,确实工作量大且容易出错. 推荐的方式,是保留/etc/kubernetes/pki目录下的ca.crt,ca.key,sa.crt,sa.key. 这四个文件 ...

随机推荐

  1. 【慕课网实战】Spark Streaming实时流处理项目实战笔记六之铭文升级版

    铭文一级: 整合Flume和Kafka的综合使用 avro-memory-kafka.conf avro-memory-kafka.sources = avro-sourceavro-memory-k ...

  2. Ueditor Word图片转存交互

    三.Word图片转存交互 1.图片转存原理 所谓word图片转存,是指UEditor为了解决用户从word中复制了一篇图文混排的文章粘贴到编辑器之后,word文章中的图片数据无法显示在编辑器中,也无法 ...

  3. 为WinEdt自定义XeLatex快捷键

    没有彻底抛弃Windows很重要的一方面原因,WinEdt + Sumatra PDF对LaTeX支持的太好了(自动补全,反向搜索),而且当遇到复杂公式的时候,mathtype也能帮上大忙. 我一直用 ...

  4. How to transfer developer profile to one mac to another mac

    Export developer profile from old mac. In the Xcode Organizer, select your team in the Teams section ...

  5. 【20171101】the first day in a new company

    英文差的要命还飙英文,擦嘞!!! 就是想记录下 点滴 如下配图: | | | V 手动配图这是图!!!

  6. 发邮件、排序、FIFO

      发送邮件.py:   import smtplib from email.mime.text import MIMEText   def email(receiver, title='标题', b ...

  7. ASP.NET Core 2.1 源码学习之 Options[3]:IOptionsMonitor

    前面我们讲到 IOptions 和 IOptionsSnapshot,他们两个最大的区别便是前者注册的是单例模式,后者注册的是 Scope 模式.而 IOptionsMonitor 则要求配置源必须是 ...

  8. Notes for Apue —— chapter 4 Files and Directories(文件和目录)

    4.1 Introduction 4.2 stat, fstat, fstatat, and lstat Functions The lstat function is similar to stat ...

  9. .net MVC, webAPI,webForm集成steeltoe+springcloud实现调用服务中心服务的总结

    开始之前,如果没接触过Autofac的,可以移步到Autofac官方示例学习一下怎么使用:https://github.com/autofac/Examples .net 下集成steeltoe进行微 ...

  10. WinForm POST上传与后台接收

    前端 using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using ...