如何使用 SSL.MD 免费签发证书 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
sneezry
V2EX    分享创造

如何使用 SSL.MD 免费签发证书

  •  
  •   snezry
    Sneezry 2016-09-19 00:38:27 +08:00 3706 次点击
    这是一个创建于 3308 天前的主题,其中的信息可能已经有所发展或是发生改变。
    之前写了一个 SSL.MD ( https://ssl.md )帮助大家免费签发的帖子( t/301332 ),经过几天的观察,发现成功签发出去的证书不多,思考了几天,改进了部分签发流程以及提示说明。

    目前也看到了从注册到签发一次成功的用户,想必这样的用户本身对证书签发流程就很熟悉,尤其是对 ACME 协议签发证书的流程。

    考虑到很多用户只是想快速拿到一张证书,结合之前帖子的讨论( t/302020 ),目前 SSL.MD 可以为不清楚证书签发流程的用户快速签发证书。

    签发证书失败的原因主要集中在三个地方:

    1 、域名验证。这里验证域名的同时也是为了代理 ACME 验证,如果你签发的证书是 sub.foo.com ,那么应该将_acme-challenge.sub.foo.com 的 NS 记录指向 acme.ssl.md.,之前网站的提示只说把_acme-challenge 主机名的 NS 指向 acme.ssl.md.造成了误解,现在已经更改了提示信息。

    2 、生成 CSR 。 CSR 是签发证书过程中的一个重要文件,它是证书签发请求的依据,之前 SSL.MD 在 CSR 上传页面为每个域名单独展示了可以直接运行的 CSR 生成命令,只需将命令复制到终端并运行就可以得到 CSR ,但对于部分用户依然造成了困难,所以 SSL.MD 在上传 CSR 的页面中提供了 Generate 按钮,点击后可以进入在线生成 CSR 的警告页面,勾选“我清楚不应在产品中使用在线生成的 CSR ”复选框后点击 Generate ,就可以看到私钥,同时提示证书会稍后发送到用户邮箱中。

    3 、 CSR 中附带了别名。虽然 Let's Encrypt 支持别名,但是 SSL.MD 尚不支持(因为我懒 - -),如果你需要为 foo.comwww.foo.com 签发证书,请将这两个域名作为两个不同的域名分别添加及签发证书。别名的支持已经在计划中了,但暂时还没有太多时间实现。

    大家在使用的过程中遇到什么问题和建议欢迎在这里留言讨论,也希望这个工具能够帮助大家方便地管理证书。
    第 1 条附言    2016-09-20 01:30:22 +08:00
    已经支持别名了
    23 条回复    2016-09-21 12:52:17 +08:00
    lslqtz
        1
    lslqtz  
       2016-09-19 00:48:19 +08:00
    我只是在想为啥不用 SSL For Free ,也很方便。
    这是再造轮子么。。
    https://www.sslforfree.com/
    sneezry
        2
    sneezry  
    OP
       2016-09-19 01:00:03 +08:00
    @lslqtz 感觉 FTP 没有 DNS 方便啊,造轮子没啥问题啊,没影响别人还给提供了新的选择有啥不好的啊
    lslqtz
        3
    lslqtz  
       2016-09-19 02:30:34 +08:00
    @sneezry 也是,但是注册账号这个功能不太需要。
    感觉 ftp 比 dns 方便。
    sneezry
        4
    sneezry  
    OP
       2016-09-19 02:39:38 +08:00 via Android
    @lslqtz 居然还没睡…注册账号可以清晰管理证书啊,以后再来个定期自动签发多好
    lslqtz
        5
    lslqtz  
       2016-09-19 02:47:32 +08:00
    @sneezry 也是,不注册可以签的话更 ok
    z742364692
        6
    z742364692  
       2016-09-19 08:18:03 +08:00 via Android
    官方的 certbot 不能满足需要?
    imxieke
        7
    imxieke  
       2016-09-19 11:59:41 +08:00
    刚刚试了下 DNS 记录一直没生效 但是我本地已经生效了 等了 10 来分钟还是没有生效。。。。

    ![图片]( https://dn-coding-net-production-pp.qbox.me/47525f4a-0209-44b6-8f85-f82844fea37a.png)

    ![图片]( https://dn-coding-net-production-pp.qbox.me/0c86ae7c-af15-4750-995e-02fe35670863.png)
    sneezry
        8
    sneezry  
    OP
       2016-09-19 12:02:29 +08:00
    @imxieke 是 NS ,不是 CNAME
    imxieke
        9
    imxieke  
       2016-09-19 12:08:11 +08:00
    @sneezry 抱歉 是我先入为主 以为就是 DNS 记录
    imxieke
        10
    imxieke  
       2016-09-19 12:11:54 +08:00
    @sneezry 对了 验证 NS 记录后 是只能申请当前 单个域名 还是 当前包含子域名 无需再次验证 可以直接申请证书?
    sneezry
        11
    sneezry  
    OP
       2016-09-19 12:32:17 +08:00 via Android
    @imxieke 只能申请当前单域名,子域名需要单独验证签发
    yidinghe
        12
    yidinghe  
       2016-09-19 18:26:56 +08:00 via Android
    非常感谢楼主的工作,但是不支持别名和通配符的话,实用性恐怕还是有些欠缺,哪怕是用在我个人域名上。继续关注,看楼主什么时候实现这两样了。
    msg7086
        13
    msg7086  
       2016-09-19 20:40:14 +08:00
    说句实话,不支持野卡的 Let's decrypt ,最吸引人的还是别名。
    不支持别名全程 SNI 真的还不如去签 COMODO ,一年免费的。
    sneezry
        14
    sneezry  
    OP
       2016-09-19 21:05:04 +08:00 via iPad
    @msg7086 没感觉使用别名和签多个证书有什么本质区别啊,一个域名从添加认证到最后签发证书应该不会超过五分钟,部署的时候应该也是不同域名不同的配置,还没想过别名的重要性,所以当时把支持别名排在最后了,能展开说一下么
    sneezry
        15
    sneezry  
    OP
       2016-09-19 21:07:01 +08:00 via iPad
    @yidinghe 通配符是指泛证书么?这个 Let's Encrypt 不支持,所以还没办法实现,除非以后搞个 StartSSL 的 Agent
    msg7086
        16
    msg7086  
       2016-09-20 05:10:48 +08:00
    @sneezry 这么说吧,比如我有 3 个二级域名, example.com ssl.example.com www.example.com 需要加证书。如果你签 3 个证书,就等于我配置文件要写 3 段。但是如果是多域名证书的话,一段配置就够了。
    如果不是二级域而是顶级域别名,比如说 bilibili.com bilibili.tv bili.tv ,也是多域名证书更方便。
    sneezry
        17
    sneezry  
    OP
       2016-09-20 09:21:39 +08:00 via Android
    @msg7086 我自己在配置的时候用的 Nginx 的虚拟主机,还是要为每个域名做单独配置,即使只有一个证书,还是要分别指向同一个证书。不过昨晚我已经把别名的支持做好了。
    xshwy
        18
    xshwy  
       2016-09-20 15:41:50 +08:00
    刚刚获取了,提示稍后发到邮箱
    请问一下楼主
    1. 一般是多久发到邮箱呢?
    2. 需要定时更新嘛?
    sneezry
        19
    sneezry  
    OP
       2016-09-20 16:26:21 +08:00
    @xshwy 别用 QQ 邮箱接收了, QQ 邮箱对 Mailgun 封得厉害,我看了下邮件被拦截了,你可以尝试以下操作:

    1 、用非 QQ 邮箱注册新用户
    2 、登陆 QQ 邮箱用户后通过域名列表中的“ Transfer ”将该域名推送到新用户中
    3 、登陆新注册的用户,然后点击“ Re-issue ”进行重新签发

    如果邮件发送正常,一分钟之内就会收到,否则就是被拦截了

    之后我会在页面上对使用 QQ 邮箱注册的用户发出提醒
    xshwy
        20
    xshwy  
       2016-09-20 21:17:38 +08:00
    @sneezry 我说呢~等了好久都没来,刚刚换 163 的成功收到了,小站测试也成功啦,非常感谢楼主~~
    另外请教一下,这个 ssl 有效期是多久呀~~
    msg7086
        21
    msg7086  
       2016-09-20 21:49:43 +08:00
    @sneezry 同一个域名的多个别名可以写在一个配置段里。
    sneezry
        22
    sneezry  
    OP
       2016-09-20 22:46:39 +08:00
    @xshwy 90 天,在 dashboard 里是可以看到签发日期和有效日期的
    caizixian
        23
    caizixian  
       2016-09-21 12:52:17 +08:00
    邮件了一些个人想法

    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2900 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 13:50 PVG 21:50 LAX 06:50 JFK 09:50
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86