Https 在本地使用letsencrypt生成证书

Https 在本地使用letsencrypt生成证书,https,ssl-certificate,lets-encrypt,Https,Ssl Certificate,Lets Encrypt,我不熟悉生成证书和使用letsencrypt,所以我不确定这是一个愚蠢的问题还是可能的问题 我想使用node.js创建一个小示例webapplication。我想测试如何实现https,以及如何获得正确的证书 所以我试着用letsencrypt。但它似乎不起作用 我正在使用我的本地机器(win10)并克隆git。之后,我尝试执行命令/letsencrypt auto,但windows无法将脚本识别为命令 在我的win10机器上,没有Web服务器(通常)在运行,如何在本地使用letsencrypt

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

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

所以我试着用letsencrypt。但它似乎不起作用

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


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

letsencrypt auto
。现在还没有办法在Windows上使用它


也就是说,人们正在努力。你可能会觉得有趣。(免责声明:我与此无关,我自己也没有尝试过。)

或者你可以看看使用golang构建的,你可以很自然地得到一个windows二进制文件

安装 您需要安装golang才能编译
concert

$ go get -u github.com/minio/concert
如何跑步? 默认情况下,在
certs
目录中生成证书

$ sudo concert gen <EMAIL> <DOMAIN>
$ sudo concert renew <EMAIL>
在自定义目录中生成证书

$ sudo concert gen --dir my-certs-dir <EMAIL> <DOMAIN>
$ sudo concert renew --dir my-certs-dir <EMAIL>
$sudo concert续订--dir我的证书dir
运行具有自动续订功能的服务器

$ sudo concert server <EMAIL> <DOMAIN>
$sudo音乐会服务器

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

你所要做的就是:

  • 创建免费帐户,它可以在所有操作系统上运行
  • 运行
    ngrok http80
    并记录您的
    子域.ngrok.io
  • 将上述子域添加到您的
    /etc/hosts
    中,作为
    127.0.0.1子域.ngrok.io
    。通过这种方式,您将能够使用SSL在本地访问该域,而ngrok将确保Let's Encrypt能够通过Internet访问该域
编辑:请注意,此方法可能无法可靠地工作。让我们加密每个注册域有20个证书。这意味着每周最多可以为所有ngrok用户生成20个证书


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

我可以在基于Debian的操作系统上创建证书,然后将其复制到任何其他机器上使用吗?@Loki是的,理论上,但请记住letsencrypt不会创建通用证书;它为特定域创建证书。如果您的Windows计算机实际上没有托管给定的域,那么letsencrypt并不比自签名证书更好。如果您只需要自签名证书,则始终可以使用OpenSSL。
无法获取域[example-1234.com]的证书,并出现以下错误[acme:Error 400-urn:acme:Error:connection-DNS问题:NXDOMAIN查找example-1234.com