V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
3825995121
V2EX  ›  程序员

大家国内项目单域名免费 ssl 证书自动续签都是用什么方法呢

  •  1
     
  •   3825995121 · 5 天前 · 3089 次点击

    在腾讯云后台申请的证书有效期已变为 90 天,为了减少手动续签的麻烦,可以通过自动续签来解决。目前使用的TrustAsia单域名免费证书,是通过腾讯云申请的。

    已知的证书服务商

    1. Let's Encrypt
    2. ZeroSSL
    3. TrustAsia

    过去曾有过Let's Encrypt被国内网络污染的情况,考虑到TrustAsia与国内云服务器厂商有合作,因此很多国内厂商推荐使用TrustAsia

    由于平时会开发小程序,担心使用Let's EncryptZeroSSL时会遇到不信任的情况或速度较慢的问题。

    目前使用freessl申请的是TrustAsia DV 证书,通过 DNS 验证,服务器上部署了acme.sh脚本进行证书管理。acme.sh 的证书请求服务地址是freessl提供的,自动处理证书续签后,重新加载 Nginx ,个人使用 RSA 加密。发现freessl申请的是TrustAsia RSA DV TLS CA G3,而腾讯云申请的是TrustAsia RSA DV TLS CA G2,G2 和 G3 版本之间存在区别。

    查询到freessl的背景,可能是由个人开发者或小公司运营,因此对其安全性有所担忧,并不了解其如何与TrustAsia合作提供免费的单域名和泛域名证书。

    打算迁移到ZeroSSL,不确定其使用效果。如果有使用过的经验分享,特别是小程序内用户量较大的情况下,可以通过微信的WE 分析查看网络请求失败的统计数据。

    微信小程序 HTTPS 证书要求

    微信小程序对于 HTTPS 证书的要求如下:

    1. HTTPS 证书必须有效:证书不能过期。
    2. 证书必须被系统信任:证书的根证书必须是系统内置信任的。
    3. 证书与域名匹配:部署 SSL 证书的网站域名必须与证书中的域名一致。
    4. 证书在有效期内:证书不能过期。
    5. 证书信任链完整:服务器需要配置完整的证书信任链。
    6. iOS 不支持自签名证书
    7. iOS 证书必须满足 Apple App Transport Security (ATS)的要求
    8. TLS 版本要求:必须支持 TLS 1.2 及以上版本。部分旧版 Android 设备可能不支持 TLS 1.2 ,因此确保服务器支持 TLS 1.2 及以下版本。
    9. 证书兼容性:部分 CA 可能不被操作系统信任,开发者应选择被微信小程序和各操作系统支持的证书。
    10. WoSign 和 StartCom 限制:Chrome 56/57 版本内核已对 WoSign 、StartCom 的证书限制。

    可以通过以下命令检查证书的有效性:

    openssl s_client -connect example.com:443
    

    也可以使用其他在线工具验证证书。如 https://myssl.com/ssl.html

    36 条回复    2024-09-14 10:33:53 +08:00
    3825995121
        1
    3825995121  
    OP
       5 天前
    https://myssl.com/ssl.html 测试了 https://zerossl.com/
    提示不合规
    ```
    降级原因:

    1. 使用了不可信的证书,降级为 T (特殊等级)
    ```
    mohumohu
        2
    mohumohu  
       5 天前
    我选择 Google 证书
    bug123
        3
    bug123  
       5 天前
    腾讯云阿里云买一个一年有效期的,几十块不贵
    Tink
        4
    Tink  
       5 天前   ❤️ 1
    acme.sh 一把梭
    RobinHuuu
        5
    RobinHuuu  
       5 天前 via iPhone
    zerossl ,letsencrypt, google 这几个免费的哪个不满足,1L 你测试的不仅仅是证书本身,更多的是 ssl 安全相关的 http 容器配置。我也是 zero ,但得到了 a 级评级
    xiangyuecn
        6
    xiangyuecn  
       5 天前
    freessl 就是亚信自家的,去年问过亚信客服为什么 freessl 可以直接调他们的接口,客服说使 freessl 是他们家的
    JensenQian
        7
    JensenQian  
       5 天前
    用 caddy 就完事了
    别折腾 acme
    3825995121
        8
    3825995121  
    OP
       5 天前
    @xiangyuecn 那就放心了 我查了域名找到了一家空壳公司 😅
    hingle
        9
    hingle  
       5 天前
    traefik + zerossl
    3825995121
        10
    3825995121  
    OP
       5 天前
    @RobinHuuu 有可能是的 有些安全配置 没有加上
    3825995121
        11
    3825995121  
    OP
       5 天前
    Karte
        12
    Karte  
       5 天前
    certbot 自动更新替换, 和 acme.sh 一个道理.
    Bingchunmoli
        13
    Bingchunmoli  
       5 天前 via Android
    @RobinHuuu 甚至能做到 s
    esee
        14
    esee  
       5 天前 via Android
    Let's Encrypt 真的会有问题吗?因为我有多个二级域名的服务,懒得一个个申请,所以我都是申请了泛域名证书,目前还没收到反馈说有啥问题的。
    hoofei
        15
    hoofei  
       5 天前
    一直在用 Let's Encrypt ,没发现出过啥问题。
    bug123
        16
    bug123  
       5 天前
    @3825995121 阿里云里面有一个:个人测试证书( pro ) ,68 一年。
    keling
        17
    keling  
       5 天前
    一直在用 Cetbot ,有人说说跟 acme.sh 什么区别吗
    austinuit
        18
    austinuit  
       5 天前
    可以用 Let's Encrypt
    austinuit
        19
    austinuit  
       5 天前
    caddy2 web 服务器
    OutOfMemoryError
        20
    OutOfMemoryError  
       5 天前
    lego 在一台服务器上签发,cron 来 renew ,然后 nfs 到内网要用的机器上,nginx 正常用
    wuxuehai2020
        21
    wuxuehai2020  
       5 天前
    acme.sh 咯,要不然就是宝塔管理了
    lerry
        22
    lerry  
       5 天前
    Caddy+Aliyun/Cloudflare 插件,然后就忘了证书这件事吧

    https://lerry.me/post/2024/09/caddy-simplify-ssl-certificate-management
    purrgil
        23
    purrgil  
       5 天前
    bt 面板 1panel 面板版都有 ssl 自动续签。
    bt 面板自动续签经常失败,原因不明,反馈过多次,累计几年了还没更新好。

    设置 dns 域名验证,会添加一条 CAA 记录,
    会导致收费商业 SSL 在验证的不能通过,
    导致需要找客服人工客服处理,非常耽误事

    1panel 刚投入使用,续签功能还得验证看
    flynaj
        24
    flynaj  
       5 天前 via Android
    Let's Encrypt 用的最多,兼容性各方面都是第一。目前有 5 亿多个活跃证书。
    sn0wdr1am
        25
    sn0wdr1am  
       4 天前
    acme.sh ,三个月自动续期。
    sshnuke
        26
    sshnuke  
       4 天前
    certbot 的 renew 好像不能指定更新一个域名而是一把更新,还要从记录里捞哪些域名被更新了
    有没有参数能指定更新一个域名的
    毕竟我还要跑后续脚本把被更新的证书推到腾讯云上去
    lcy630409
        27
    lcy630409  
       4 天前
    用的国内 tx 服务器
    添加 v2ray
    安装 acme.sh ,申请谷歌泛域名(我有两个域名,谷歌家 可以一个证书放两个域名)证书,到期自动续费 自动覆盖站点证书 重启 bt 重启 nginx
    将域名进行加密 输出 json ,,其他自己家里 或者需要证书的地方 获取前面的 json 对比版本,自动更新
    mouyase
        28
    mouyase  
       4 天前
    我用 OP 发的工具测了一下,是 A+
    yikuo
        29
    yikuo  
       4 天前
    @flynaj 自从 Let's Encrypt 之前的根证书过期换了新的根证书后,很多旧设备就不兼容了,ZeroSSL 的兼容性要好很多。

    https://letsencrypt.org/zh-cn/docs/certificate-compatibility/

    https://help.zerossl.com/hc/en-us/articles/360058294074-ZeroSSL-Compatibility-List
    ranaanna
        31
    ranaanna  
       4 天前
    @sshnuke #28 certbot renew --cert-name domain.com
    lisxour
        32
    lisxour  
       4 天前
    @bug123 #16 这种最怕就是等用户起来后割韭菜
    Dragonphy
        33
    Dragonphy  
       4 天前
    开源的 SSL 证书管理工具,可以帮助你自动申请、部署 SSL 证书,并在证书即将过期时自动续期。
    https://github.com/usual2970/certimate
    coagent
        34
    coagent  
       4 天前
    acme.sh ,结合 ReloadCmd ,可以自由扩展,最近在一个项目中的实践:
    - 域名解析服务使用腾讯云的,即 DNSPod ,acme.sh dns api 支持。
    - 直接申请通配符的证书,申请了 *.dev.domain.com, *.staging.domain.com, *.domain.com 等。
    - ReloadCmd 调用 Bash Shell 脚本,脚本根据场景用 Ansible 等去刷新绑定使用了证书的地方,目前已应用到 Nginx, APISIX, HAProxy, GitLab, Harbor, K8s 等自部署的程序,用 Python 实现支持云厂商 CLB, ALB 也是可行的。
    fox0001
        35
    fox0001  
       4 天前 via Android
    cloudflare dns ,可以带免费证书,续签都免了
    spug
        36
    spug  
       3 天前
    在这里申请一个一年有效期的 49 块钱,而且到期前会有多重提醒方式自动提醒: https://ssl.spug.cc/
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   911 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 22:34 · PVG 06:34 · LAX 15:34 · JFK 18:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.