官方文档

安装acme.sh

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

如果此方式安装失败,可以使用 git 安装

git clone https://github.com/acmesh-official/acme.sh.git
cd ./acme.sh
./acme.sh --install

安装过程中会自动为你创建 crontab 定时任务, 每天 0:15 自动检测所有的证书, 如果快过期了, 需要更新, 则会自动更新证书crontab -l

15 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null

创建 一个 bash 的 alias, 方便使用: alias acme.sh=~/.acme.sh/acme.sh

生成证书

单域名:

acme.sh  --issue  -d yourdomain.com --webroot  /home/wwwroot/blog/

可以设置多个域名:

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

只需要指定域名,并指定域名所在的网站根目录。acme.sh 会全自动的生成验证文件,并放到网站的根目录,然后自动完成验证, 最后又自动删除验证文件。

安装证书

生成证书后,将证书安装到Nginx。
默认生成的证书都放在安装目录下: ~/.acme.sh/,这个目录一般来说不能让nginx直接使用,所以我们需要将证书放到一个指定的目录:/usr/local/nginx/ssl

mkdir /usr/local/nginx/sslacme.sh --installcert -d yourdomain.com --key-file /usr/local/nginx/ssl/yourdomain.com.key --fullchain-file /usr/local/nginx/ssl/yourdomain.com.crt --reloadcmd "service nginx force-reload"

请注意:reloadcmd非常重要。该证书可以自动更新,但是如果没有正确的"reloadcmd",该证书可能无法刷新到您的服务器,那么您的网站将无法在60天内显示更新的证书。

配置Nginx

server {listen       443;server_name yourdomain.com;index index.html index.htm index.php;root /data/wwwroot/blog;#ssl on;   #如果硬性要求全部走https协议,这里开启ssl onssl_certificate   /usr/local/nginx/ssl/yourdomain.com.crt;ssl_certificate_key  /usr/local/nginx/ssl/yourdomain.com.key;#ssl性能调优#nginx 1.13.0支持了TLSv1.3,TLSv1.3相比之前的TLSv1.2、TLSv1.1等性能大幅提升ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;ssl_prefer_server_ciphers on;ssl_session_timeout 10m;#使用ssl_session_cache优化https下Nginx的性能ssl_session_cache builtin:1000 shared:SSL:10m;#OCSP Stapling 开启。OCSP是用于在线查询证书吊销情况的服务,使用OCSP Stapling能将证书有效状态的信息缓存到服务器,提高 TLS 握手速度ssl_stapling on;#OCSP Stapling 验证开启ssl_stapling_verify on;location ~ [^/]\.php(/|$) {fastcgi_pass  unix:/tmp/php-cgi.sock;fastcgi_index index.php;include fastcgi.conf;}location / {if (!-e $request_filename) {rewrite  ^(.*)$  /index.php?s=/$1  last;break;}}location /nginx_status{stub_status on;access_log   off;}location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)${expires      30d;}location ~ .*\.(js|css)?${expires      12h;}location ~ /.well-known {allow all;}location ~ /\.{deny all;}error_log  /home/wwwlogs/error.www.codelife.log;}

配置完后验证 nginx 配置有没有错误:
nginx -t

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

没有错误重启 nginx :service nginx restart

手动更新证书:acme.sh --cron -f

目前由于 acme 协议和 letsencrypt CA 都在频繁的更新, 因此 acme.sh 也经常更新以保持同步.所以为了省心省力,最好还是设置一下软件的自动更新:acme.sh --upgrade --auto-upgrade

使用 acme.sh 配置 https 免费证书相关推荐

  1. Ubuntu 17.04 编译安装 Nginx 1.9.9 配置 https 免费证书

    Ubuntu 17.04 编译安装 Nginx 1.9.9 配置 https 免费证书 安装 Nginx 安装依赖 $ apt-get update $ apt-get install build-e ...

  2. 使用acme.sh配置https证书

    想使用免费的https证书怎么办?想自动给证书续期怎么办? Let's Encrypt 是一家免费.开放.自动化的证书颁发机构(CA),为公众的利益而运行. 它是一项由 Internet Securi ...

  3. Windows IIS配置Https免费证书的最简单方法(借助Certify)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.概念介绍 二.配置步骤 三.补充介绍:付费证书的大致配置步骤 一.概念介绍 (1)HTTPS和HTTP的区别 Http ...

  4. LINUX服务器最简洁的HTTPS免费证书配置方法

    注意:该方法已在多台服务器配置了免费的https证书,无论是更新还是第一次配置都运行成功:由于是免费版,每个证书都只有三个月的有效期,也无法保证安全和稳定性,所以只建议做测试用,客户的项目需要时,请让 ...

  5. 使用acme.sh撸一个免费且自动更新的HTTPS证书

    前言 一直想撸一下https,最近刚好有点空,就实现了一下.之前看过一篇教你快速撸一个免费HTTPS证书的文章,通过Certbot来管理Let's Encrypt的证书,使用前需要安装一堆库,觉得不太 ...

  6. acme.sh快速申请免费https证书

    1.下载acme.sh curl https://get.acme.sh | sh -s email=my@example.com alias acme.sh=~/.acme.sh/acme.sh 2 ...

  7. https免费证书配置

    https免费证书配置 背景 1.http 和 https 是什么? 简单来说,http 是一个传输网页内容的协议,比如你看到的 http 开头的网站 http://www.163.com,其网页上的 ...

  8. 基于 acme.sh 自动申请域名证书(群晖 Docker)

    本文介绍如何使用 Docker 镜像 acme.sh,实现名证书自动申请和续签功能. acme.sh 可以从 letsencrypt 生成免费的证书,支持 Docker 部署,支持 http 和 DN ...

  9. 用acme.sh自动部署域名证书

    用acme.sh自动部署域名证书 安装ACME 目前使用量最大的免费SSL证书就是Let's Encrypt,自2018-03开始,Let's Encrypt官方发布上线了免费的SSL泛域名证书,目前 ...

最新文章

  1. 安装oracle到create inventory时卡住了怎么办_「推荐」wacom数位板怎么用?教你如何正确的安装数位板驱动...
  2. python英文词云代码_使用python实现个性化词云的方法
  3. linux上安装fio教程,fio工具安装及使用
  4. 读书笔记007:《伤寒论》- 手少阴心经
  5. java beanutil 工具类_实现BeanFactoryAware来达到Spring静态方法获取Bean对象的BeanUtil工具类...
  6. mac securecrt程序无响应_在Mac上查看和终止进程的方法
  7. Oracle mysql 语句_Oracle 数据库常用操作语句大全
  8. 微型计算机技术 论文,微型计算机技术课程设计论文报告微机交通灯控制系统_毕业论文.docx...
  9. 将一张100元按如下要求C语言,aoa三一宝典(计算机二级考试)
  10. Linux驱动的ioctl函数简要说明
  11. 函数2——*args/**kwargs、作用域、函数的嵌套、关键字globa和nonlocal、函数的注释...
  12. 计算机领域媒体的分类有,多媒体信息主要有几种类型
  13. 小白如何入门计算机编程?
  14. 消息中间件 - ActiveMQ高级特性和用法-Mirrored Queue 镜像队列(了解即可)(十)
  15. 在cordova中处理原生键盘相关问题的总结,mark供参考
  16. springboot2.4开启HTTPS功能报DerInputStream.getLength(): lengthTag=111, too big异常
  17. 用计算机制作微课教学教案,微课教案设计
  18. ESP32 AT-MQTT 和阿里云进行数据传输
  19. 世茂以弘扬独特的工匠精神 辉映现代人居潮向
  20. win10安装 Genymotion ARM Translation教程

热门文章

  1. 关于Win10英文版安装中文语言包后,新用户登录还是英文界面的问题的解决方法
  2. 解决部署报错No main manifest attribute, in XXX.jar
  3. 媒体称中国残保金收入上百亿nbsp;支出…
  4. 木乃伊迷宫(存在一些bug,后面有改过的)
  5. 为什么要学计算机伦理学,应用伦理学的几个基本理论问题
  6. 4 OS command injection操作系统命令注入
  7. 游戏任务成就体系的实现(一):业务分析及技术架构
  8. lingo基础入门Day 7——lingo应用之运输问题与生产问题总结
  9. jdk安装与环境变量的配置(Win10亲身使用详细版)
  10. What's the DCOM?