【问题标题】:Generate a certificate with letsencrypt locally在本地使用 letencrypt 生成证书
【发布时间】:2016-01-17 13:36:03
【问题描述】:

我是生成证书和使用letsencrypt的新手,所以我不确定这是一个愚蠢的问题还是可能。

我想使用 node.js 创建一个小型示例 web 应用程序。我想测试如何实现https,以及如何获得正确的证书。

所以我尝试使用letsencrypt。但这似乎不起作用。

我正在使用我的本地机器 (win10) 并且正在克隆 git。之后我尝试执行命令./letsencrypt-auto,但windows不会将该脚本识别为命令。

如何在我的 win10 机器上本地使用letsencrypt,没有网络服务器(通常)在运行。

【问题讨论】:

    标签: https ssl-certificate lets-encrypt


    【解决方案1】:

    letsencrypt-autoonly works with Apache on Debian-based OSes (for now)。目前还没有办法在 Windows 上使用它。

    也就是说,人们正在努力。您可能会发现 this project 很有趣。 (免责声明:我与此无关,也没有亲自尝试过。)

    【讨论】:

    • 我可以在基于 Debian 的操作系统上创建证书,然后将其复制到任何其他机器上使用吗?
    • @Loki 理论上是的,但请记住,letsencrypt 不会创建通用证书;它为特定域创建证书。如果您的 Windows 机器实际上没有托管给定的域,那么letsencrypt 并不比自签名证书好。如果您只需要自签名证书,您可以随时使用 OpenSSL。
    【解决方案2】:

    或者你可以看看 - https://github.com/minio/concert 使用 golang 构建的,你可以很自然地得到一个 windows 二进制文件。

    安装

    你需要安装golang来编译concert

    $ go get -u github.com/minio/concert
    

    如何运行?

    默认在certs 目录中生成证书。

    $ sudo concert gen <EMAIL> <DOMAIN>
    

    在自定义目录中生成证书。

    $ sudo concert gen --dir my-certs-dir <EMAIL> <DOMAIN>
    

    默认续订certs目录中的证书。

    $ sudo concert renew <EMAIL>
    

    在自定义目录中生成证书。

    $ sudo concert renew --dir my-certs-dir <EMAIL>
    

    运行具有自动续订功能的服务器。

    $ sudo concert server <EMAIL> <DOMAIN>
    

    【讨论】:

    • Failed to obtain certificates for Domains: [example-1234.com], with following errors [acme: Error 400 - urn:acme:error:connection - DNS problem: NXDOMAIN looking up A for example-1234.com
    【解决方案3】:

    或者,您可以使用ngrok 公开您的本地端口80,并通过subdomain.ngrok.io 上的安全隧道将其提供给全世界。也可以将该域作为 CNAME 传递给您自己的域名。

    你所要做的就是:

    • 使用https://ngrok.com/ 创建免费帐户它适用于所有操作系统。
    • 运行ngrok http 80 并记下您的subdomain.ngrok.io
    • 将上述子域添加到您的/etc/hosts127.0.0.1 subdomain.ngrok.io。这样您就可以使用 SSL 在本地访问该域,而 ngrok 将确保 Let's Encrypt 能够通过 Internet 访问它。

    编辑:请注意,此方法可能无法可靠地工作。 Let's encrypt 每个注册域有 20 个证书rate limit。这意味着每周可以为所有 ngrok 用户生成多达 20 个证书。

    免责声明:我与ngrok.io 没有任何关系。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-30
      • 1970-01-01
      • 2016-03-14
      • 1970-01-01
      • 2015-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多