精华内容
下载资源
问答
  • acme签发Let's Encrypt证书

    千次阅读 2019-06-18 14:38:17
    下载acme.sh # curl https://get.acme.sh | sh 安装时提下列信息, 可以不用管, 也可以安装 socat ( # yum -y install socat ) ...执行签发泛域名证书 acme.sh --issue -d brando.org.cn -d '*.brando.o...

    下载acme.sh

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

    安装时提下列信息, 可以不用管, 也可以安装 socat ( # yum -y install socat )
    在这里插入图片描述

    添加别名方便执行

    # alias acme.sh=~/.acme.sh/acme.sh

    执行签发泛域名证书

    acme.sh --issue -d brando.org.cn -d '*.brando.org.cn' --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please --keylength ec-384
    

    在这里插入图片描述
    执行完成后, 会提示. 去域名解析处配置TXT解析. 把Domain, 和 TXT value 配置进去.
    在这里插入图片描述
    此配置图片值不对应. 自己使用的时候需要配置正确.

    配置完成后检查是否配置正确(可以省略)

    安装 dig 命令组建
    # yum install bind-utils

    查看TXT值是否配置正确
    # dig _acme-challenge.brando.org.cn txt

    重新执行生成证书.

    # acme.sh --renew --ecc -d brando.org.cn -d '*.brando.org.cn' --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please --keylength ec-384
    

    生成成功图片生成成功

    生成完成后需再次生成

    # acme.sh --renew --ecc --force -d brando.org.cn -d '*.brando.org.cn' --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please --keylength ec-384
    

    复制证书文件

    # cd /root/.acme.sh/brando.org.cn_ecc/
    fullchain.cer 是证书
    brando.org.cn.key 是私钥

    Nginx配置HTTPS证书

    	server {
    		listen 443 ssl http2;
    		server_name www.brando.org.cn;
    
    		ssl on;
    		ssl_certificate /ssl/brando.org.cn.cer;     # SSL 证书文件( 对应fullchain.cer文件, 只是改了个名字 )
    		ssl_certificate_key /ssl/brando.org.cn.key; # SSL 私钥文件
    
    		#ssl优化配置.
    		ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    		ssl_stapling on;
    		ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA";
    		ssl_prefer_server_ciphers on;
    		ssl_session_cache shared:SSL:50m;
    		ssl_session_timeout 10m;
    		
    		location / {
    			proxy_set_header   X-Forwarded-Proto https;
    			proxy_set_header   X-Real-IP $remote_addr;
    			proxy_set_header   Host      $http_host;
    			proxy_pass         http://127.0.0.1:8080;
    			proxy_connect_timeout 1800s;
    			proxy_send_timeout 1800s;
    			proxy_read_timeout 1800s;
    		}
    	}
    
    展开全文
  • 有幸拜读了博主的《使用acme.sh与阿里云DNS签发Let’s Encrypt的免费数字证书》一文,按着步骤做,但本人基础比较有限,可能由于文中没有提及的一些细节,可能导致了本人的一些误操作,麻烦博主和各位大牛指正!...

    有幸拜读了博主的《使用acme.sh与阿里云DNS签发Let’s Encrypt的免费数字证书》一文,按着步骤做,但本人基础比较有限,可能由于文中没有提及的一些细节,可能导致了本人的一些误操作,麻烦博主和各位大牛指正!感激不尽!

     

    我的情况是:

    1.我的域名是在阿里云通过万网购买的,是www.allenleung.site

    2.我在自己租的vps上通过nginx部署了一个最简单的nginx欢迎页面,并且只是想将这个页面弄成是https访问的,学习下https证书安装,搭建网站,申请域名等知识点。vps ip是192.3.73.212

    3.本人确保export Ali_Key和export Ali_Secret两个步骤无误。

    4.有创建access key

     

    5.申请签发证书步骤

    acme.sh --issue --dns dns_ali -d allenleung.site -d *.allenleung.site

    6.执行后的产出

    我会把公钥和cer两个文件拷贝到指定目录 /etc/nginx/ssl 下

     

     

    我想到的可能存在的问题是:

    1. 阿里云中的解析设置页面,我不会设置,应该怎么设置呢? 我目前的设置

     

    1. 本人的nginx配置基础比较薄弱,可能因为不会配置,而给自己埋坑了,所以我只是按照博主的nginx配置信息依葫芦画瓢。以下是我的nginx配置图信息:

    我修改的配置文件是default.conf:

    下图中红框部分是我参照博主的配置,有修改的地方:

     

    /usr/share/nginx/html 目录:

     

    var/log/nginx目录:

     

    博客中的配置图(我完全参考这个来写的)

    执行nginx启动后,就报了这个错:

    nginx: [warn] invalid value "TLSv1.3" in /etc/nginx/conf.d/default.conf:8

     

    另外想问的问题是:

    1.acme.sh的执行机器是否可以跟部署nginx的机器不同? 我并不是放在vps上执行acme.sh程序的,我是将产生的cer和key文件通过scp方式传到vps机器上,然后通过重启nginx让其生效,这样会不会产生错误的原因之一?

    可以的,只是一个产出结果

    展开全文
  • 1.安装acme.sh curl https://get.acme.sh | sh 2.手动 dns 方式, 手动在域名上添加一条 txt 解析记录, 验证域名所有权... 坏处是,如果不同时配置 Automatic DNS API,使用这种方式 acme.sh 将无法自动更新证书...

    1.安装acme.sh

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

     2.手动 dns 方式, 手动在域名上添加一条 txt 解析记录, 验证域名所有权

    这种方式的好处是, 你不需要任何服务器, 不需要任何公网 ip, 只需要 dns 的解析记录即可完成验证. 坏处是,如果不同时配置 Automatic DNS API,使用这种方式 acme.sh 将无法自动更新证书,每次都需要手动再次重新解析验证域名所有权。

    acme.sh --issue --dns -d mgcr.megoai.com

    acme.sh --issue -d mgcr.megoai.com --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please

    3.在域名解析这边加一条TXT解析记录 

    然后, acme.sh 会生成相应的解析记录显示出来, 你只需要在你的域名管理面板中添加这条 txt 记录即可.

    4.等待解析完成之后, 重新生成证书:

    acme.sh --renew -d mgcr.megoai.com

    acme.sh --renew -d mgcr.megoai.com --force --yes-I-know-dns-manual-mode-enough-go-ahead-please

    注意第二次这里用的是 --renew

    dns 方式的真正强大之处在于可以使用域名解析商提供的 api 自动添加 txt 记录完成验证.

    acme.sh 目前支持 cloudflare, dnspod, cloudxns, godaddy 以及 ovh 等数十种解析商的自动集成.

    以 dnspod 为例, 你需要先登录到 dnspod 账号, 生成你的 api id 和 api key, 都是免费的. 然后:

    5.查看证书的有效期

    acme.sh --list

    注意:这里生成的证书路径是被隐藏了

     

    6.安装证书

    acme.sh --install-cert -d mgcr.megoai.com --key-file   /etc/nginx/ssl/mgcr.megoai.com/mgcr.megoai.com.key --fullchain-file /etc/nginx/ssl/mgcr.megoai.com/fullchain.cer  --reloadcmd  "service nginx force-reload"

    7.nginx新增443监听

    nginx配置:

    8.最后重启一下nginx

    nginx -s reload

    重启之前,可以先查看一下nginx语法配置是否有错误,没有错误,再重启,否则就尴尬了。

    nginx -t

     

    9.最最最后,就是要在Azure开发443端口

     

    看到最后的盆友,麻烦帮忙点一下,谢谢。

    参考:https://github.com/acmesh-official/acme.sh/wiki/%E8%AF%B4%E6%98%8E

     

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 1. 安装acme.sh 安装很简单, 一个命令: curl https://get.acme.sh | sh 并创建 一个 bash 的 alias, 方便你的使用 alias acme.sh=~/.acme.sh/acme.sh 2. 生成证书 1. http 方式需要在你的网站根目录下...

    1. 安装 acme.sh

    安装很简单, 一个命令:

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

    并创建 一个 bash 的 alias, 方便你的使用

    alias acme.sh=~/.acme.sh/acme.sh

    2. 生成证书

    1. http 方式需要在你的网站根目录下放置一个文件, 来验证你的域名所有权,完成验证. 然后就可以生成证书了.

    acme.sh --issue -d www.yuming.com --webroot /data/sites/site/

    2. dns 方式, 在域名上添加一条 txt 解析记录, 验证域名所有权.(泛域名需要dns解析)

    我的域名是在阿里注册的,下面给出阿里云解析的例子,其他地方注册的请参考这里自行修改:传送门

    请先前往阿里云后台获取App_KeyApp_Secret 传送门,然后执行以下脚本

    # 替换成从阿里云后台获取的密钥
    export Ali_Key="xxxxxxxxxx"
    export Ali_Secret="xxxxxxxxxxxxxxxxxxxx"
    # 换成自己的域名
    acme.sh --issue --dns dns_ali -d yuming.com -d *.yuming.com

    到这里就应该安装好了

    3. copy/安装 证书

    acme.sh --installcert -d yuming.com \
    --key-file /data/ssl/yuming.com.key \
    --fullchain-file /data/ssl/yuming.cer \
    --reloadcmd "service nginx restart"

    4. 别忘记在你的站点配置文件中添加证书路径

    #开启443
    listen 443 ssl;
    #配置证书
    ssl_certificate /data/ssl/yuming.cer; ssl_certificate_key /data/ssl/yuming.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL; ssl_prefer_server_ciphers on;

     

    5. FAQ

    注:我在centos 7上遇到问题,安装完后执行acme.sh,提示命令没找到,如果遇到跟我一样的问题,请关掉终端然后再登陆,或者执行以下指令:

    source ~/.bashrc

     

    参考:
    https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E

    https://my.oschina.net/kimver/blog/1634575#comment-list

    转载于:https://www.cnblogs.com/duandian/p/8883952.html

    展开全文
  • 通过./vshost.sh创建的https站点到期后未能自动续约Let'sEncrypt证书,经排查发现oneinstack自带的计划任务因故障没有正常运行,手动操作后还是无法正常启动,多方尝试后采用acme的dnsapi模式进行手动续约。...
  • 签发HTTPS证书 (acme.sh)

    2017-06-16 13:50:00
    进行签发,然后导出 .key 和 .cer 等文件。在最后会在控制台输出具体的存放路径,并以绿色字体显示以示提醒。 官方的自动安装证书的命令中,存在备份相关证书的操作,这里可以自行备份。 为了方便的使用cron的...
  • 刚开始的时候签发证书比较繁琐,需要自己手敲命令,但后来有位大佬创建了acme.sh这个项目,以下是该项目的GitHub地址: acme.sh 通过访问acme.sh一样可以打开该项目的GitHub页面噢。因为该项目是国人...
  • --------------安装----------------curl https://get.acme.sh | sh#让alias生效source ~/.bashrc -------------设置DNS API------------在dns运营商网站设置DNS API的API KEY/SECRET KEY#例如阿里云,域名所在账号...
  • } } 主要起作用的是 location ^~ /.well-known/acme-challenge/ ,acme在认证的时候会使用这个目录,我们在签发证书的时候使用以下参数即可: acme.sh --issue -d example.com -w /home/wwwroot/example.com
  • 但是 Let ’ s Encrypt 与其它 CA 签发证书时验证域名所有权不太相同,它使用 ACME-server 进行域名验证,原理就是验证服务器指定在客户端服务器的一个随机的目录下生成一个随机的文件,然后验证是否能下载到这个...
  • 安装nginx3 安装ACME自动签发证书3.1 安装证书3.2 生成证书3.3 安装证书4. 使用logrotate自动切割日志文件5. 配置nginx切割日志文件 1. 搭建Web服务 首先安装python的flask库,可以使用以下代码: pip install -i ...
  • 启动acme-companion acme-companion容器的作用是自动为域名签发证书,而且还会在证书快到有效期之前自动续发新的证书,从而保证证书永不过期。和nginx-proxy容器一样,acme-companion容器会监视别的容器的启动,...
  • acme申请泛域名证书

    2020-10-13 20:13:21
    阿里云授权 腾讯云dnspod授权 curl https://get.acme.sh | sh ##阿里云 ..../acme.sh --issue --dns dns_ali -d 域名 -d '*.域名' ##腾讯云 export DP_Id="" export DP_Key="" ./acme.sh --issue -...
  • cert-manager 是 Kubernetes 上的全能证书管理工具,如果对安全级别和证书功能要求不高,可以利用 cert-manager 基于 ACME 协议与 Let's Encrypt 来签发免费证书并自动续期,实现永久免费使用证书。 cert-manager ...
  • 签发ssl证书

    2015-06-16 10:03:13
     -subj "/C=US/ST=Utah/L=Provo/O=ACME Signing Authority Inc/CN=example.com"   # Create a Device Certificate for each domain, # such as example.com, *.example.com, awesome.example.com # NOTE: ...
  • 文件来源 https://github.com/Neilpang/acme.sh/wiki/How-to-issue-a-cert domain=$domain time=`date +%Y%m%d%H%M%S` # http模式 # acme.sh --issue --standalone -d $domain -d www.$domain -w /var...
  • 使用acme申请https免费证书

    千次阅读 2019-03-25 17:48:06
    前言 ​ 上次写了一篇https证书相关的笔记整理,个人觉得有些地方欠妥,这次介绍一个更方便更简单更
  • cert-manager 是 Kubernetes 上的全能证书管理工具,如果对安全级别和证书功能要求不高,可以利用 cert-manager 基于 ACME 协议与 Let's Encrypt 来签发免费证书并自动续期,实现永久免费使用证书。 cert-...
  • acme.sh是一个 ACME(自动化证书管理环境) 脚本,可以从 letsencrypt 生成免费的证书。 本来这个教程是写在编译Nginx支持TLS1.3那篇帖子里的,后来感觉还是单独拿出来比较好,即能让那篇教程更简洁,也能更方便的让...
  • cert-manager 是 Kubernetes 上的全能证书管理工具,如果对安全级别和证书功能要求不高,可以利用 cert-manager 基于 ACME 协议与 Let’s Encrypt 来签发免费证书并自动续期,实现永久免费使用证书。 Cert-Manager ...
  • 通过阿里云 DNS 为 Let's Encrypt 签发证书提供验证的脚本工具。 功能 支持签发多域名证书 支持签发 ACMEv2 的通配符证书(配置开启 acme-version=v2) 如果此前使用了 ACMEv1 签发的证书,那么建议在升级前将 /etc/...
  • acme.sh及https证书实践

    2018-12-23 09:23:24
    crt.sh这个工具可以按通配符域名查询所有证书的详情 原理 非对称加密的典型应用,另一个是PGP加密。首先建立TCP连接,然后通过DH密钥交换算法交换密钥,具体是先协商SSL参数,然后服务端发送公钥,客户端验证公钥后...
  • 免费数字证书颁发机构 Let's Encrypt 发布了 ACME v2 协议 API 端点,正式宣布开始测试支持签发通配符数字证书ACME V2 版 API 接口。 可以使用以下的目录 URL 开始为你的客户端测试对于 ACME v2 的支持: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 400
精华内容 160
关键字:

acme签发证书